@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
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,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

:focus {
	outline: 0;
}

ol,
ul {
	list-style: none;
}

table {
	border-collapse: separate;
	border-spacing: 0;
}

caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

a img {
	border: 0;
}

figure {
	margin: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

/* -------------------------------------------------------------- */

body {
	color: #333;
	font-size: 12px;
	font-family: 'Noto Sans JP', sans-serif,"游ゴシック体", "游ゴシック Medium", "Yu Gothic Medium", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	line-height: 1.7;
	letter-spacing: 0.05em;
	background: #fcfcfc;
	background-repeat: repeat;
	-webkit-text-size-adjust: 100%;
}

html {
	background: #fff;
}


/* リンク設定
------------------------------------------------------------*/
a {
	color: #337db6;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

a:active,
a:focus {
	outline: 0;
}

a.deco {
	color: #337db6;
	text-decoration: none;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgb(128, 128, 128) 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .6s;
}

a.deco:hover {
	background-position: -100% 0;
	color: #fff;
}

a:hover img {
	opacity: 0.7;
}

small{
	font-size: 12px;
}


/* 全体
------------------------------------------------------------*/
#wrapper {
	margin: 0 auto;
	width: 940px;
	max-width: 98%;
	position: relative;
}

.inner {
	margin: 0 auto;
	width: 940px;
	max-width: 100%;

}

.sukima {
	padding: 9px;
}

.kugiri {
	border-top: 1px solid #ebebeb;
	padding: 0px;
	margin-bottom: 36px;
}

.service {
	width: 100%;
}

.service ul {
	list-style-type: none;
	text-align: center;
}

.service ul li {
	display: inline;
}

.service li img {
	width: 85px;
	margin: 4px;
}

/*************
/* ヘッダー
*************/
#header {
	overflow: hidden;
}

* html #header {
	height: 1%;
}

#header h1 {
	font-size: 16px;
	font-weight: normal;
	text-shadow: 2px 2px 5px #A9A9A9;
	margin: 10px 0 10px 5px;
}

#header h1 img {
	vertical-align: bottom;
	display: inline-block;
	margin-right: 5px;
}

.box3 {
	display: flex;
}

.box3 li {
	width: calc(100% / 3);
	justify-content: center;
}


/*************
/* ロゴ
*************/
#header .logo {
	margin-left: 9px;
}

.logo img {
	width: 250px;
}


/*************
/* スローガン
*************/
.catch {
	text-align: right;
	font-size: 18px;
	font-weight: bold;
	display: inline-block;
	transform: rotate(-7deg);
	color: #fff;
	/* 文字の色 */
	letter-spacing: 2px;
	/* 文字間 */
	animation: sample2Anime 2.5s ease-out infinite alternate;
	margin-right: 9px;
}

@keyframes sample2Anime {
	0% {
		text-shadow: 2px 2px 2px #999,
			-2px 2px 2px #999,
			2px -2px 2px #999,
			-2px -2px 2px #999;
	}

	100% {
		text-shadow: 2px 2px 2px #333,
			-2px 2px 2px #333,
			2px -2px 2px #333,
			-2px -2px 2px #333;
	}
}

.catch span {
	font-weight: normal;
	font-size: 16px;
}


/**************************
/* トップナビゲーション
**************************/
ul#topnav {
	display: flex;
	margin: 9px 1px;
}

* html ul#topnav {
	height: 1%;
}

ul#topnav li {
	width: calc(100% / 6);
	justify-content: center;
	text-align: center;

}

ul#topnav a {
	font-size: 12px;
	font-family: "baby kruffy", "Century Gothic", "arial";
	letter-spacing: 1px;
	display: block;
	color: #666;
}

ul#topnav span {}

ul#topnav li.active {
	background: #000;
}

ul#topnav a:hover {}



/**************************
/* ナビ（スクロールで表示）
**************************/

#header-change {
	position: fixed;
	top: -78px;
	background: #fff;
	border-bottom: 1px solid #ebebeb;
	opacity: 0.9;
	width: 100%;
	-moz-box-shadow: 0 0 5px #ccc;
	-webkit-box-shadow: 0 0 5px #ccc;
	box-shadow: 0 0 5px #ccc;
	transition: .3s;
}

#header-change.show {
	top: 0;
}

#header-change .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 9px;
}

#nav {
	display: flex;
	justify-content: space-between;
	align-items: center;

}

#top {
	display: flex;
	justify-content: space-between;
	align-items: center;

}

#header-change img {
	margin: 9px 0 9px 9px;
}


ul#nav li {
	font-size: 14px;
	font-weight: bold;
	margin-right: 18px;
}

ul#nav li a {
	color: #666;
}


/**************************
/* メイン画像（トップページ+サブページ）
**************************/
#mainBanner {
	margin: 5px;
	max-width: 100%;
	height: auto;
	position: relative;
	line-height: 0;
}

#subBanner img {
	max-width: 100%;
	height: auto;
}

#subBanner {
	margin: 5px 2px 27px;
	max-width: 100%;
	position: relative;
	line-height: 0;
}

#mainBanner img {
	max-width: 100%;
	height: auto;
}

.slogan-main {
	position: absolute;
	width: 100%;
	top: 50%;
	/* 上から50%の位置 */
	left: 50%;
	/* 左から50%の位置 */
	transform: translate(-50%, -50%);
	/* 真ん中に揃える */
	line-height: 1.8;
	color: white;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
	/* 文字を読みやすくする */
}

.slogan {
	position: absolute;
	max-width: 100%;
	height: auto;
	bottom: 0;
	right: 0;
	padding: 15px 20px;
	line-height: 1.4;
	background: url(img/tp2.png);
}

.slogan h2 {
	padding-bottom: 5px;
	color: #ddd;
	font-size: 18px;
}

.slogan h3 {
	font-size: 12px;
	color: #aaa;
}

/* サブページ スローガンの背景・黒*/
.subImg .slogan {
	background: url(img/tp2.png);
}

.subImg .slogan h2 {
	color: #ddd;
}

.subImg .slogan h3 {
	color: #aaa;
}



/**************************
/* グリッド
**************************/
.gridWrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 18px 0 18px 0;
}

* html .gridWrapper {
	height: 1%;
}

.grid {
	width: calc((100% - 15px) / 4);
	background: #fff;
	margin-top: 5px;
	padding-bottom: 9px;
	border: 1px solid #ebebeb;
	box-sizing: border-box;
	-moz-box-shadow: 0 0 5px #ccc;
	-webkit-box-shadow: 0 0 5px #ccc;
	box-shadow: 0 0 5px #ccc;
	border-radius: 2px;
}

.grid h3 {
	padding: 15px 5px;
	text-align: center;
	font-weight: bold;
	color: #333;
	background: #f5f5f5;
}

.cal3 h3 {
	font-size: 14px;
	background: initial;
	background: ffffff;
}

.center {
	text-align: center;
}

.f20 {
	font-size: 20px;
	text-align: center;
}

.f25 {
	font-size: 25px;
	text-align: center;
}

.f30 {
	font-size: 30px;
	text-align: center;
}

.plan_a {
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.15em;
	color: #fff;
	padding: 20px;
	margin: 10px;
	background-image: linear-gradient(90deg, #7ab4c2, #88ceb8);
	border-radius: 2px;
}

.plan_b {
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.15em;
	color: #fff;
	padding: 20px;
	margin: 10px;
	background-image: linear-gradient(90deg, #6086b6, #7db3dd);
	border-radius: 2px;
}

.plan_c {
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.15em;
	color: #fff;
	padding: 20px;
	margin: 10px;
	background-image: linear-gradient(90deg, #7d7d7d, #adadad);
	border-radius: 2px;
}

.grid h4 {
	padding: 5px;
	text-align: center;
	font-weight: bold;
}

.grid h5 {
	padding: 9px;
	font-weight: bold;
}

.grid p {
	padding: 5px 10px 5px;
}

.grid ul {
	padding: 5px 10px 5px;
}

.grid li {
	padding: 5px 10px 5px;
}


.spec {
	padding: 5px;
	text-align: center;
}

.gridWrapper img {
	width: 100%;
	height: auto;
}

.border{
	border: 1px solid #ebebeb;
	box-sizing: border-box;
	-moz-box-shadow: 0 0 5px #ccc;
	-webkit-box-shadow: 0 0 5px #ccc;
	box-shadow: 0 0 5px #ccc;
	border-radius: 2px;
}

/* サブコンテンツ(3カラム) */
.cal3 {
	width: calc((100% - 10px) / 3);
}

.readmore {
	text-align: center;
}

/*************
リスト　三角
*************/

.defaultlist,
.defaultlist li {
	padding: 0px;
	margin: 0px;
}

.defaultlist li {
	list-style-type: none !important;
	list-style-image: none !important;
	margin: 5px 0px 5px 0px !important;
}

.list1 li {
	position: relative;
	padding-left: 20px;
}

.list1 li:before {
	content: '';
	display: block;
	position: absolute;
	box-shadow: 0 0 2px 2px rgba(255, 255, 255, 0.2) inset;
	top: 3px;
	left: 2px;
	height: 0;
	width: 0;
	border-top: 6px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 9px solid #aaa;
}


/*************
メイン コンテンツ (box)
*************/
.container {
	padding: 18px;
	margin: 20px 0 20px 0;
	border: 1px solid #ebebeb;
	background: #fff;
	-moz-box-shadow: 0 0 5px #ccc;
	-webkit-box-shadow: 0 0 5px #ccc;
	box-shadow: 0 0 5px #ccc;
	border-radius: 2px;
}

.box_reverse {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row-reverse;
	justify-content: space-around;
	margin: 9px 0 9px 0;
}

.box {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-around;
	margin: 9px 0 9px 0;
}

.caution {
	background-color: #666;
	background-image:
		repeating-linear-gradient(-45deg, #ffdc00, #ffdc00 7px, transparent 0, transparent 14px);
	opacity: 0.9;
}

.box p {
	margin: 9px;
	font-size: 14px;
	line-height: 1.7;
	min-width: 0;
}

.around {
	justify-content: space-around;
}

.text {
	max-width: 490px;
	margin: 9px;
	font-size: 14px;
	line-height: 1.7;
	min-width: 0;
}

.text_f {
	max-width: 900px;
	margin: 27px;
	padding: 27px;
	font-size: 14px;
	line-height: 1.7;
	min-width: 0;
	border: 4px dashed #ebebeb;
	border-radius: 5px;
}

.text_f_caution {
	max-width: 900px;
	padding: 27px;
	font-size: 14px;
	line-height: 1.7;
	min-width: 0;
	background-color: #fff;
	border: 2px solid #666;
	border-radius: 5px;
	opacity: 0.98;
}

.text_f img {
	vertical-align: middle;
	display: inline-block;
	margin: 5px;
}

.text img {
	vertical-align: middle;
	display: inline-block;
	margin: 5px;
}

h3.heading {
	margin-left: 9px;
	padding: 0px 10px;
	border-left: 5px solid #333;
	color: #333;
	font-size: 16px;
}

.pict {
	display: flex;
	flex-direction: column;
}

.pict img {
	max-width: 320px;
	height: auto;
	margin: 9px;
}

.outline {
	border: 1px solid #ebebeb;
}

.right {
	text-align: right;
}

.naname {
	padding-top: 20px;
	transform: rotate(-7deg);
}

/*************
テーブル
*************/
table {
	width: 100％;
	margin: 18px auto;
	font-size: 12px;
	border-top: 1px solid #d3d3d3;
}

.tbl-r02 th {
	padding: 18px 27px;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
	width: 30%;
	background: #f5f5f5;
	border-bottom: 1px solid #d3d3d3;
	border-left: 1px solid #d3d3d3;
}

.tbl-r02 td {
	width: 70%;
	padding: 18px 27px;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
	border-bottom: 1px solid #d3d3d3;
	border-right: 1px solid #d3d3d3;
}

.price-table {
    width: 100%;
    margin-bottom: 20px;
    padding: 0 10px 0;
    border-top: 0px;
}

.price-item,
.price-body {
    padding: 20px 0px 20px 10px;
    border-bottom: 1px solid #ccc;
    background-color: #fff;
}

.price-item {
    text-align: left;
    vertical-align: middle;
    width: 50%;
    background-color: #fff;
}

.price-body {
    width: 50%;
}


/*************
/* フッター
*************/
#footer {
	clear: both;
	padding: 9px;
	overflow: hidden;
	font-size: 10px;
	color: #fff;
	background: #333;
	border-top: 9px double #d3d3d3;
	border-bottom: 9px double #d3d3d3;
	opacity: 0.8;
}

* html #footer {
	height: 1%;
}

#footer a,
#footer p {
	font-size: 11px;
	color: #fff;
	margin: 4px;
	white-space: nowrap;
}

#footer a span {
	padding: 5px;
	border-radius: 1px;
}

#footer a span:hover {
	background: #666666;
}

#footer .copyright {
	color: #fff;
	font-size: 10px;
	text-align: center;
}

/* フッター グリッド(6カラム) */
#footer .box6 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 9px 0 0 0;
}

#footer .box6 li {
	width: calc(100% / 6);
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
}

.migi {
	align-items: flex-end;
}

.migi a {
	width: 120px;
}

#footer .box6 li.ud {
	flex-direction: column-reverse;
	text-align: right;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
	display: block !important;
}

.sp {
	display: none !important;
}


/* モニター幅940px以下 */
@media only screen and (max-width:959px) {

	ul#topnav {
		margin: 9px 9px;
	}
	
	.grid {
		width: calc((100% - 5px) / 2);
		margin-top: 5px;
	}

	.grid img {
		width: 100%;
	}

	.grid p {
		margin: 9px auto 5px;
		max-width: 80%;
	}

	/* サブコンテンツ(3カラム) */
	#sub .grid {
		width: calc((100% - 10px) / 2);
		margin-top: 5px;
	}


	#footer .grid {
		float: none;
		width: 100%;
		text-align: center;
	}

	#footer .grid:last-child {
		padding-top: 20px;
	}


	#header-change #nav {
		margin-right: 18px;
	}

	.ccc {
		background: #222;
		border: 3px solid 000;
		margin-top: 5px;
	}

}


/* スマートフォン 横(ランドスケープ) */
@media only screen and (max-width:650px) {


	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}
	
	.slogan-main {
		font-size: 16px;
	}
	
	.bx-wrapper .bx-pager {
	display: none !important;
	}


	#footer .grid p {
		text-align: center;
	}

	.grid li {
		text-align: left;
	}

	img.frame,
	#gallery img {
		border-width: 2px;
	}

	.alignleft,
	.alignright {
		float: none;
		display: block;
		margin-right: auto;
	}

	h3.heading {
		margin: 9px 0px;
		padding: 6px 8px;
		background: #333;
		color: #fff;
		font-size: 16px;
		text-align: center;
	}

	h3.chapter8 {
		text-align: center;
	}

	.box {
		flex-direction: column;
		align-items: center;
	}

	.box_reverse {
		flex-direction: column;
		align-items: center;
	}

	.text_f {
		margin: 0px;
		padding: 18px 9px;
	}

	.text_f_caution {
		margin: 0px;
		padding: 18px 9px;
	}

	/* サブコンテンツ(3カラム) */
	.cal3 {
		width: 100%;
		}

	#footer a,
	#footer p {
		color: #fff;
		margin: 5px 18px;
	}

	#footer .box6 {
		margin: 0;

	}

	#footer .box6 li {
		width: calc(100% / 1);
		flex-direction: row;
		flex-wrap: wrap;
	}

	.hr {
		border-bottom: 1px solid #d3d3d3;
		margin-bottom: 14px;
		padding-bottom: 14px;
	}

	.tbl-r02 th {
		padding: 18px 18px;
	}

	.tbl-r02 td {
		padding: 18px 9px;
		white-space: normal;
	}


/**************************
/* スマホ用ナビ（ハンバーガーメニュー）
**************************/

	#header {
		margin-bottom: 70px;
	}

	#menubar {
		position: fixed;
		top: -10;
		left: 0;
		width: 100%;
		z-index: 500;
	}

	#menubarWrap {
		position: relative;
		top: -10px;
		width: 100%;
		height: 60px;
		background-color: rgba(255, 255, 255, 0.98);
		border-bottom: 1px solid #ccc;
		-moz-box-shadow: 0 0 5px #ccc;
		-webkit-box-shadow: 0 0 5px #ccc;
		box-shadow: 0 0 5px #ccc;
	}

	#menubar h1 {
		text-align: center;
	}

	#menubar h1 img {
		width: auto !important;
		max-height: 40px;
		margin: 5px;
	}

	a#menu {
		display: inline-block;
		position: relative;
		width: 40px;
		height: 40px;
		margin: 10px;
	}

	#menuBtn {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 18px;
		height: 2px;
		margin: -1px 0 0 -7px;
		background: #000;
		transition: .2s;
	}

	#menuBtn:before,
	#menuBtn:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 18px;
		height: 2px;
		background: #000;
		transition: .3s;
	}

	#menuBtn:before {
		margin-top: -7px;
	}

	#menuBtn:after {
		margin-top: 5px;
	}

	a#menu .close {
		background: transparent;
	}

	a#menu .close:before,
	a#menu .close:after {
		margin-top: 0;
	}

	a#menu .close:before {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}

	a#menu .close:after {
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}

	.panel {
		width: 100%;
		display: none;
		overflow: hidden;
		position: relative;
		left: 0;
		top: -10px;
		z-index: 100;
	}

	#spnav {
		position: absolute;
		top: 0;
		width: 100%;
		text-align: right;
	}

	#spnav ul {
		border-bottom: 1px solid #ccc;
		background: #fff;
		opacity: 0.98;
		text-align: left;
	}

	#spnav li a {
		position: relative;
		display: block;
		padding: 15px 25px;
		border-bottom: 1px solid #ccc;
		color: #000;
		font-weight: 400;
	}

	#spnav li a:before {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 5px;
		width: 6px;
		height: 6px;
		margin: -4px 0 0 0;
		border-top: solid 2px #000;
		border-right: solid 2px #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#spnav #sns li {}

	#spnav #sns li a {
		position: relative;
		display: inline-block;
		padding: 12px 0px 9px 30px;
		border: 0;
	}

	#spnav #sns li a:before {
		border: 0;
	}

	#spnav #sns li img {}
}