@charset "UTF-8";

/* reset */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
body {line-height:1;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
nav ul{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after,q:before, q:after { content:'';content:none;}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
ins{background-color:#ff9;color:#000;text-decoration:none;}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold;}
del{text-decoration: line-through;}
abbr[title], dfn[title]{border-bottom:1px dotted;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}
input, select{vertical-align:middle;}


/*--------------------------------------
	基本スタイル
--------------------------------------*/
html {
	font-size: 62.5%;
}
body {
	height: 100%;
	color: #333;
	line-height: 1.4;
	min-width: 100%;
	font-size: 1.4rem;
	letter-spacing: 0.02rem;
	margin: 0;

	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

body, textarea, input, pre {
	font-family: "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
	font-weight: 500;
}


*, *::before, *::after {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

a { text-decoration: none; }

ul { margin: 0; padding: 0; }

p {
	margin: 0;
	padding: 0;
	font-size: 1.4rem;
	line-height: 1.4;
}

sup {
	vertical-align: super;
	font-size: small;
}


li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
}

.nblur {
	-webkit-backface-visibility: hidden;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	line-height: 1.4;
}


/*---------------------------
　トップページへのリンク
---------------------------*/
.topLink {
	position: fixed;
	width: 40px;
	height: 40px;
	background: rgba( 33, 33, 33, .6 );
	bottom: 80px;
	right: -50px;
	border-radius: 5px;
	cursor: pointer;
	z-index: 98;
}

.topLink span {
	display: block;
	position: absolute;
	font-size: 2.2rem;
	color: #fff;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	text-align: center;
}

.animeTopLink1 {
	animation: animeTopLinkSp1 .8s forwards;
}

.animeTopLink2 {
	animation: animeTopLinkSp2 .8s forwards;
}


@keyframes animeTopLinkSp1 {
	0% {
		opacity: 0;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
	}
	
	100% {
		opacity: 1;
		transform: translateX(-60px);
		-webkit-transform: translateX(-60px);
		-moz-transform: translateX(-60px);
		-ms-transform: translateX(-60px);
	}
	
}


@keyframes animeTopLinkSp2 {
	0% {
		opacity: 1;
		transform: translateX(-60px);
		-webkit-transform: translateX(-60px);
		-moz-transform: translateX(-60px);
		-ms-transform: translateX(-60px);
	}
	
	100% {
		opacity: 0;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
	}
	
}


/*---------------------------
　アイコン設定
---------------------------*/

/* 疑似要素設定 */
.iconfas *::before,
.iconfas *::after,
.iconfas_b *::before,
.iconfas_f *::after {
	font-family: "Font Awesome 5 Free";
}


/*---------------------------
　汎用アニメーション
---------------------------*/
/* beat */
@keyframes animeBeat {
	0% { filter: drop-shadow( 0 0 0 #000 ); }
	100% { filter: drop-shadow( 0 0 12px transparent ); }
}

/* fade in */
@keyframes animeFadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}


/*---------------------------
　マージン
---------------------------*/
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb50 { margin-bottom: 50px; }
.mb80 { margin-bottom: 80px; }


/*---------------------------
　画像の比率設定
---------------------------*/

/* 4:3 */
[class*="img-ratio"],
[class*="img-sp-ratio"] {
	position: relative;
	display: block;
	width: 100%;
}

[class*="img-ratio"] img,
[class*="img-sp-ratio"] img {
	position: absolute;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
}

[class*="img-ratio"]::before,
[class*="img-sp-ratio"]::before {
	content: "";
	display: block;
}

/* 4:3 */
.img-ratio01::before,
.img-sp-ratio01::before { padding-top: 75%; }

/* 16:9 */
.img-ratio01::before,
.img-sp-ratio02::before { padding-top: 56.25%; }


/*----------------------------
	コメントボックス
----------------------------*/
.commentBox p {
	font-size: 1.6rem;
}


.commentBox .mb {
	margin-bottom: 16px;
}

/* 自動マージン */
.commentBox.automb p:not(:last-child),
.commentBox.automb-sp p:not(:last-child) {
	margin-bottom: 16px;
}


/*---------------------------
　その他
---------------------------*/
/* 表示,非表示 */
.chide { visibility: hidden; }
.cshow { visibility: visible; }


/* font */
.fset00 {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

.fset01 {
	font-family: "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
}

.fset02 {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


.fset03 {
	font-family: '小塚ゴシック Pro L', 'Kozuka Gothic Pro Light', sans-serif;
}


.fsetGoogle01 {
	font-family: 'Kosugi Maru', sans-serif;
	transform: rotate(0.001deg);
}

.fsetGoogle02 {
	font-family: 'Sawarabi Mincho', sans-serif;
	transform: rotate(0.001deg);
}

/* color */
.sr00 {
	color: #f22;
}



/* スマホだけ改行 */
.spbr { display: block; }




/* サイト個別デフォルト */
body {
}


/*---------------------------
　header
---------------------------*/
header {
}

/* タイトルとメニュー */
header .headerWrap {
	background: #0681E8;
}

header .headerWrap h1 {
	text-shadow: 1px 1px 3px #333;
}

/*---------------------------
　title
---------------------------*/
#siteTitle {
	position: relative;
	width: 100%;
	box-shadow: 2px 2px 20px #333;
	z-index: 10;
	padding: 0px 5px 10px 5px;

}

#siteTitle h1 {
	color: #fff;
	font-size: 2.8vw;
	text-align: center;
	padding: 8px 0;
	line-height: 1;
}

#siteTitle .wrap {
	position: relative;
}

/* ロゴ */
#siteTitle .logo {
	width: 70%;
	margin: auto;
}

/* box1 - 営業日など */
#siteTitle .wrap .box1 {
	display: none;
}

/* box2 - 連絡先やお問い合わせフォーム */
#siteTitle .wrap .box2 {
	display: none;
}

/*---------------------------
　navi
---------------------------*/
#navi {
	position: fixed;
	visibility: hidden;
	height: 120%;
	background: linear-gradient( to bottom, #fff 0, #fff 20%, #ddd 100% );
	z-index: 101;
	top: 0;
}



#navi .menu {
	width: 100%;
	height: 83.5%;
	overflow-y: scroll;
}
#navi .menu li {
	position: relative;
	width: 100%;
}

#navi .menu li::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background: #ccc;
	background: -webkit-linear-gradient( left, transparent 0, #ccc 20%, #ccc 80%, transparent 100% );
	background: -moz-linear-gradient( left, transparent 0, #ccc 20%, #ccc 60%, transparent 100% );
	background: -ms-linear-gradient( left, transparent 0, #ccc 40%, #ccc 60%, transparent 100% );
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}


#navi .menu li a,
#navi .menu li div {
	display: block;
	padding: 14px 0 14px 20px;
	color: #000;
	cursor: pointer;
}

#navi .menu li a:hover,
#navi .menu li div:hover {
	color: #fff;
	background: #003487;
}


#navi .menu li p.fas {
	display: block;
}

#navi .menu li p {
	font-size: 1.6rem;
	line-height: 1.4;
	margin-bottom: 2px;
}

#navi .menu li span {
	display: block;
	color: #e0b86d;
	line-height: 1;
	font-size: 1.0rem;
	font-weight: bold;
	font-family: Verdana, Geneva, sans-serif;
}

#navi .menu li .subIcon {
	position: relative;

}

/* サブメニューがある項目の設定 */
#navi .menu li .subIcon::before,
#navi .menu li .subIcon::after {
	position: absolute;
	content: "";

	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	
}

/* 区切り */
#navi .menu li .subIcon::before {
	width: 1px;
	height: 36px;
	background: #ccc;
	background: -webkit-linear-gradient( top, transparent 0, #ccc 20%, #ccc 80%, transparent 100% );
	background: -moz-linear-gradient( top, transparent 0, #ccc 20%, #ccc 80%, transparent 100% );
	background: -ms-linear-gradient( top, transparent 0, #ccc 20%, #ccc 80%, transparent 100% );

	right: 50px;

}

/* アイコン */
#navi .menu li .subIcon::after {
	border-top: 8px #666 solid;
	border-left: 5px transparent solid;
	border-right: 5px transparent solid;
	
	right: 20px;
}


/* サブメニュー */
#navi .menu li .subMenu {
	display: none;
	background: #333;
}

/* 各項目 */
#navi .menu li .subMenu li {
	position: relative;
}

/* link */
#navi .menu li .subMenu li a {
}

/* テキスト */
#navi .menu li .subMenu li a p {
	position: relative;
	padding: 5px 0 5px 20px;
	color: #fff;
	font-size: .9rem;
}

/* left icon */
#navi .menu li .subMenu li a p::before {
	position: absolute;
	content:"";
	border-top: 5px transparent solid;
	border-left: 5px #f33 solid;
	border-bottom: 5px transparent solid;
	top: 50%;
	left: 4px;
	
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	
}


/*---------------------------
　スマートフォンメニュー
---------------------------*/
#naviSp {
	position: fixed;
	width: 100%;
	background: #89a547;
	background: -webkit-linear-gradient( top, #38579E 0, #243866 70%, #243866 100% );
	background: -moz-linear-gradient( top, #38579E 0, #243866 70%, #243866 100% );
	background: -ms-linear-gradient( top, #38579E 0, #243866 70%, #243866 100% );


	left: 0;
	bottom: 0;
	z-index: 100;
	
	box-shadow: 0px -1px 10px 3px #333;
}


#naviSp ul {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}

#naviSp li {
	position: relative;
	width: 100%;
	padding: 5px 0;
}

#naviSp li:not(:last-child):before {
	position: absolute;
	content: "";
	width: 1px;
	height: 80%;
	background: #fff;
	background: -webkit-linear-gradient( top, transparent 0, #fff 40%, #fff 60%, transparent 100% );
	background: -moz-linear-gradient( top, transparent 0, #fff 40%, #fff 60%, transparent 100% );
	background: -ms-linear-gradient( top, transparent 0, #fff 40%, #fff 60%, transparent 100% );
	right: 0;
	
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

/* 通常リンクとメニューボタン */
#naviSp .menu,
#naviSp a {
	position: relative;
	display: block;
	height: 100%;
	padding: 44px 0 8px 0;
	line-height: 1;
}


/* 基本ラベル */
#naviSp .label {
	display: block;
	color: #fff;
	font-size: .9rem;
	text-align: center;
	text-shadow: 1px 1px #333;
}

/* アイコン */
#naviSp .label::before {
	position: absolute;
	top: 10px;
	left: 0;
	right: 0;
	margin: 0 auto;
	font-size: 2.4rem;
}

/* ラベル */
#naviSp .label::after {
	font-size: 1.4rem;
}


/* 注文ボタン */
#naviSp .tel::before {
	content: "\f2a0";
}
#naviSp .tel::after {
	content: "電話する";
}


/* お問い合わせ */
#naviSp .inq::before {
	content: "\f0e0";
}

#naviSp .inq::after {
	content: "お問い合わせ";
}

/* メニューボタン */
#naviSp .menu::after {
	content: "メニュー";
}

/* メニューアイコン */
#naviSp i,
#naviSp i::before,
#naviSp i::after {
	position: absolute;
	width: 25px;
	height: 2px;
	background: #fff;
}

#naviSp i {
	top: 26px;
	left: 0;
	right: 0;
	margin: 0 auto;
}


#naviSp i::before {
	content: "";
	top: -8px;
}

#naviSp i::after {
	content: "";
	top: 8px;
}


/* 上のライン */
#naviSp .mopen::before {
	animation: animeSpMenu1 .6s forwards;
}

#naviSp .mclose::before {
	animation: animeSpMenu1c .6s forwards;
}


@keyframes animeSpMenu1 {
	0% {
		transform: translateY(0) rotate( 0deg );
		-webkit-transform: translateY(0) rotate( 0deg );
		-moz-transform: translateY(0) rotate( 0deg );
		-mstransform: translateY(0) rotate( 0deg );
	}
	
	100% {
		transform: translateY(8px) rotate( 405deg );
		-webkit-transform: translateY(8px) rotate( 405deg );
		-moz-transform: translateY(8px) rotate( 405deg );
		-mstransform: translateY(8px) rotate( 405deg );
	}
}

@keyframes animeSpMenu1c {
	0% {
		transform: translateY(8px) rotate( 405deg );
		-webkit-transform: translateY(8px) rotate( 405deg );
		-moz-transform: translateY(8px) rotate( 405deg );
		-ms-transform: translateY(8px) rotate( 405deg );
	}
	
	100% {
		transform: translateY(0) rotate( 0deg );
		-webkit-transform: translateY(0) rotate( 0deg );
		-moz-transform: translateY(0) rotate( 0deg );
		-ms-transform: translateY(0) rotate( 0deg );
	}
}





/* 真ん中のライン */
#naviSp .mopen {
	animation: animeSpMenu2 .6s forwards;
}

#naviSp .mclose {
	animation: animeSpMenu2c 1.2s forwards;
}



@keyframes animeSpMenu2 {
	0% { background: #fff; }
	100% { background: transparent; }
}

@keyframes animeSpMenu2c {
	0% { background: transparent; }
	100% { background: #fff; }
}


/* 下のライン */
#naviSp .mopen::after {
	animation: animeSpMenu3 .6s forwards;
}

#naviSp .mclose::after {
	animation: animeSpMenu3c .6s forwards;
}

@keyframes animeSpMenu3 {
	0% {
		transform: translateY(0) rotate( 0deg );
		-webkit-transform: translateY(0) rotate( 0deg );
		-moz-transform: translateY(0) rotate( 0deg );
		-mstransform: translateY(0) rotate( 0deg );
	}
	
	100% {
		transform: translateY(-8px) rotate( -405deg );
		-webkit-transform: translateY(-8px) rotate( -405deg );
		-moz-transform: translateY(-8px) rotate( -405deg );
		-mstransform: translateY(-8px) rotate( -405deg );
	}
}

@keyframes animeSpMenu3c {
	0% {
		transform: translateY(-8px) rotate( -405deg );
		-webkit-transform: translateY(-8px) rotate( -405deg );
		-moz-transform: translateY(-8px) rotate( -405deg );
		-ms-transform: translateY(-8px) rotate( -405deg );
	}
	
	100% {
		transform: translateY(0) rotate( 0deg );
		-webkit-transform: translateY(0) rotate( 0deg );
		-moz-transform: translateY(0) rotate( 0deg );
		-ms-transform: translateY(0) rotate( 0deg );
	}
}



.navibg {
	display: none;
	position: fixed;
	width: 100%;
	height: 120%;
	background: #333;
	opacity: .3;
	top: 0;
	left: 0;
	z-index: 99;
}

/*---------------------------
　breadcrumb
---------------------------*/
#breadcrumbList {
	width: 100%;
	background: #fff;
	padding: 10px 0;
	margin-bottom: 10px;
}

/* 表示範囲 */
#breadcrumbList ul {
	position: relative;
	margin: 0 10px;

	display: flex;
	display: -webkit-flex;
	
	overflow: hidden;
}

/* 各階層 */
#breadcrumbList ul li {
	position: relative;
	content: "";
	background: #86a31f;
	background: #0681E8;
	margin-right: 15px;
}

/* 2目以降 */
#breadcrumbList ul li:not(:nth-child(1)) {
	padding-left: 10px;
	z-index: 0;
}

#breadcrumbList ul li::before,
#breadcrumbList ul li::after {
	position: absolute;
	display: block;
	content: "";
	z-index: 1;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}


/* 階層枠の後方 */
#breadcrumbList ul li:not(:first-child):before {
	border-top: 18px transparent solid;
	border-left: 14px  #fff solid;
	border-bottom: 18px transparent solid;
	left: -1px;

}

/* 階層枠の前方 */
#breadcrumbList ul li::after {
	border-top: 18px transparent solid;
	border-left: 15px #0681E8 solid;
	border-bottom: 18px transparent solid;
	right: -14px;
}

/* リンク */
#breadcrumbList ul li a {
	display: block;
}

/* 文字 */
#breadcrumbList ul li a span {
	line-height: 30px;
	height: 30px;
	letter-spacing: .05rem;
	font-size: 1.2rem;
	color: #fff;
	text-shadow: 1px 1px 2px #333;
	padding: 0 10px;
}

/* アイコンがある場合 */
#breadcrumbList ul li span i {
	margin-right: 5px;
}



/* メッセージ */
#breadcrumbList ul li .msg {
	display: none;
}


/*---------------------------
　content
---------------------------*/
#contents {
	margin: 10px 0;
	width: 100%;
}


.contentHeader {
	position: relative;
	background: #0681e8;
	background: -webkit-linear-gradient( left, #025fad 0, #0681e8 5%, #0681e8 95%, #025fad 100% );
	background: -moz-linear-gradient( left, #025fad 0, #0681e8 5%, #0681e8 95%, #025fad 100% );
	background: -ms-linear-gradient( left, #025fad 0, #0681e8 5%, #0681e8 95%, #025fad 100% );
	overflow: hidden;
	z-index: 0;
}

.contentHeader h2 {
}

/* グループ枠 */
.contentGroup {
}

.contentGroup:not(:last-of-type) {
	margin-bottom: 30px;
}


.contentGroup .wrap {
	height: auto;
	padding: 30px 10px;
	
}

/* コンテンツ用横並び */
.contentBox {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}

/* 各種コンテンツ */
[id^="content-"] {
	width: 100%;
}

[id^="content-"]:not(:last-child) {
}

/* メイン記事 */
[id^="content-"] .inner {
	padding: 0 10px;
}


/*---------------------------
　リンクボックス
---------------------------*/
/* 最後のお問い合わせbox */
.lastbox {
	position: relative;
	background: #39578C;
	background: -webkit-linear-gradient( top, #39578C 0, #243657 100% );
	background: -moz-linear-gradient( top, #39578C 0, #243657 100% );
	background: -ms-linear-gradient( top, #39578C 0, #243657 100% );
	margin-bottom: 10px;
}

/* 内部box */
.lastbox .inbox {
	padding: 30px 10px;
}

/* 電話 */
.lastbox .telbox {
	margin-bottom: 30px;
}

/* 電話box内テキスト */
.lastbox .telbox p {
	color: #fff;
	font-size: 1.4rem;
	text-shadow: 1px 1px 2px #000;
}

.lastbox .telbox p:first-child {
	font-size: 1.5rem;
}


.lastbox .telbox .tel {
	margin: 5px 0;
}


/* ボタンbox */
.lastbox .inbox .button {
}

/* ボタン */
.lastbox .inbox a {
	display: block;
	padding: 8px 0;
	font-size: 1.8rem;
	color: #fff;
	background: -webkit-linear-gradient( top, #4974bf 0,  #203559 100% );
	background: -moz-linear-gradient( top, #4974bf 0,  #203559 100% );
	background: -ms-linear-gradient( top, #4974bf 0,  #203559 100% );
	border: 2px #fff solid;
	border-radius: 8px;
	padding-left: 20px;
}

.lastbox .inbox a:hover {
	background: #4974bf;
}


/* link アイコン*/
.lastbox .inbox .link::before {
	content: "\f0a9";
	font-weight: bold;
	margin-right: 10px;
}

/* メール アイコン */
.lastbox .inbox .mail::before {
	content: "\f0e0";
	font-weight: bold;
	margin-right: 10px;
}

.lastbox .inbox a:not(:last-child) {
	margin-bottom: 10px;
}




/*---------------------------
　footer
---------------------------*/
footer {
}

/* フッターメイン */
#infoFooter {
	min-height: 300px;
	background: #4c4c4c;
	background: -webkit-linear-gradient( top, #4c4c4c 0, #171717 100% );
	background: -moz-linear-gradient( top, #4c4c4c 0, #171717 100% );
	background: -ms-linear-gradient( top, #4c4c4c 0, #171717 100% );
	padding: 30px 10px;
}

#infoFooter .inner {
	width: 100%;
}

/* 会社名 */
#infoFooter .inner .name {
	position: relative;
	color: #fff;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.1rem;
	text-align: center;
	text-shadow: 2px 2px 3px #333;
}

/* ruby */
#infoFooter .inner .name span::before {
	position: absolute;
	content: attr(data-ruby);
	font-size: 1rem;
	font-weight: normal;
	letter-spacing: normal;
	top: -14px;
}

#infoFooter .inner .comment {
	color: #fff;
	margin-bottom: 26px;
}

#infoFooter .wrap {
	color: #fff;
	
}


#infoFooter .wrap > li {
	position: relative;
	padding: 10px 0;
}

#infoFooter .wrap > li:first-child {
}

#infoFooter .wrap > li:last-child {
}



#infoFooter p.cName {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	
	border: 1px #fff solid;
	border-radius: 10px;
	padding: 3px 0;
	margin-bottom: 20px;
}


/* 会社情報 */
#infoFooter .companyInfo {
}


/* 情報詳細 */
#infoFooter .companyInfo .box li {
	display: flex;
	display: -webkit-flex;
	flex-wrap: nowrap;
	margin-bottom: 10px;
}




#infoFooter .companyInfo .box div:nth-child(1) {
	position: relative;
	flex-basis: 120px;
	background: #444;
	border-radius: 4px;
	padding: 15px 10px;
	box-shadow: 1px 1px 2px #222;
	margin-right: 20px;
}

#infoFooter .companyInfo .box div:nth-child(1) p {
	position: absolute;
	font-size: 1.3rem;
	text-shadow: 1px 1px 2px #333;
	top: 50%;
	transform: translateY( -50% );
	-webkit-transform: translateY( -50% );
	-moz-transform: translateY( -50% );
	-ms-transform: translateY( -50% );
}


#infoFooter .companyInfo .box div:nth-child(2) {
	position: relative;
	width: 100%;
	padding: 5px 0;
}

#infoFooter .companyInfo .box div:nth-child(2) p {
	font-size: 1.4rem;
}

#infoFooter .companyInfo .box .subBox {
	position: absolute;
	top: 50%;
	transform: translateY( -50% );
	-webkit-transform: translateY( -50% );
	-moz-transform: translateY( -50% );
	-ms-transform: translateY( -50% );
}




/* サイトマップ */
#infoFooter .siteMap {
}

#infoFooter .siteMap .box p {
	margin-bottom: 5px;
}

#infoFooter .siteMap a {
	color: #fff;
}

/* アイコン */
#infoFooter .siteMap a::before {
	content: "\f105";
	color: #f33;
	font-size: 1.2rem;
	font-weight: bold;
	
	margin-right: 5px;
}


/* アクセス地図 */
#infoFooter .mapInfo {
	min-height: 260px;
}


#infoFooter .mapInfo iframe {
	width: 100%;
	height: 250px;
}

/* 大きい地図へのリンク */
#infoFooter .mapInfo a {
	display: block;
	color: #fff;
	font-size: 1.2rem;
	background: #515357;
	background: -webkit-linear-gradient( top, #515357 0, #515357 50%, #3f4145 51%, #3f4145 100% );
	background: -moz-linear-gradient( top, #515357 0, #515357 50%, #3f4145 51%, #3f4145 100% );
	background: -ms-linear-gradient( top, #515357 0, #515357 50%, #3f4145 51%, #3f4145 100% );
	text-align: center;
	width: 100%;
	
	text-shadow: 1px 1px 3px #333;
	padding: 4px 0;
	
	border-radius: 4px;
}

#infoFooter .mapInfo a:hover {
	background: -webkit-linear-gradient( top, #787b82 0,  #515357 100% );
	background: -moz-linear-gradient( top, #787b82 0,  #515357 100% );
	background: -ms-linear-gradient( top, #787b82 0,  #515357 100% );
}


/* 帯の部分 */
#lastFooter {
	background: #38579E;
	margin-bottom: 76px;
}

#lastFooter p {
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	padding: 3px 0;
	text-shadow: 1px 1px 3px #333;
}

#lastFooter a {
	color: #fff;
}



/*---------------------------
　ボタン
---------------------------*/

/* button style 01 */
.button01 {
	display: block;
	color: #fff;
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
	
	background: #97B726;
	background: -webkit-linear-gradient( top, #a9cc2e 0, #a9cc2e 50%, #97B726 51%, #97B726 100% );
	background: -moz-linear-gradient( top, #a9cc2e 0, #a9cc2e 50%, #97B726 51%, #97B726 100% );
	background: -ms-linear-gradient( top, #a9cc2e 0, #a9cc2e 50%, #97B726 51%, #97B726 100% );
	padding: 5px 0;
	
	text-shadow: 1px 1px #333;
	border-radius: 8px;
}

.button01:hover {
	background: #333;
}




/*---------------------------
　箇条書き
---------------------------*/

/* 箇条書き 01 */
.numList01 {
	counter-reset: num 0;
}

.numList01 li {
	position: relative;
	counter-increment: num 1;
	font-size: .9rem;
	padding: 2px 0px 2px 30px;
}

.numList01 li:not(:last-child) {
	margin-bottom: 10px;
}

.numList01 li::before {
	position: absolute;
	content: counter(num) "";
	
	color: #fff;
	background: #97B726;
	
	padding: 0 6px;
	border: 1px #666 solid;
	border-radius: 3px;
	
	top: 0;
	left: 0;
	
	
	font-family: "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
	text-shadow: 1px 1px 1px #333;
}



/* 数字 - 箇条書き 02 */
.numList02 {
}

.numList02 li {
	position: relative;
	list-style-type: decimal;
	font-size: .95rem;
	padding: 2px 0px 2px 0px;
}



/* 自由 - 箇条書き 01 (見出し付き) */
.myList01 {
	margin: 30px 0;
}

.myList01 li {
	border-bottom: 1px #758e1d dotted;
	padding-bottom: 5px;
}

.myList01 li:not(:last-child) {
	margin-bottom: 16px;
}


.myList01 p:first-child {
	margin-bottom: 10px;
}


.myList01 p:first-child span {
	display: block;
	color: #fff;
	font-size: .8rem;
	background: #97b726;
	
	padding: 2px 6px;
	border: 1px #666 solid;
	border-radius: 4px;
	line-height: 1;
	
	text-shadow: 1px 1px 1px #333;
	text-align: center;
}

.myList01 p:last-child {
	font-size: .85rem;
}


/* 自由 - 箇条書き 02 (チェックマーク) */
.myList02 {
	border-top: 1px #758e1d solid;
	border-bottom: 1px #758e1d solid;
	padding: 10px 0;
	margin: 30px 0;
}

.myList02 li {
	position: relative;
	font-size: .95rem;
	padding: 2px 0px 2px 26px;
}


.myList02 li:not(:last-child) {
	margin-bottom: 4px;
}

.myList02 li::before {
	position: absolute;
	content: "\f058";
	color: #97b726;
	font-size: 1rem;
	font-weight: bold;
	top: 0;
	left: 0;
    font-family: "Font Awesome 5 Free";
}

/* wb_[X^C */

/* style 01 */
.headStyle01 {
	position: relative;
	color: #fff;
	font-size: 2.2rem;
	padding: 15px 10px;
	text-shadow: 1px 1px 3px #333;
	z-index: auto;
	
}


.headStyle01::after {
	position: absolute;
	content: "";
	background: url( "../img/icon_header03.png" ) no-repeat;
	background-size: cover;
	width: 50%;
	height: 100%;
	right: 5px;
	bottom: 0;
	opacity: .15;


}

/* style 02 */
.headStyle02 {
	position: relative;
	color: #fff;
	font-size: 2rem;
	background: #0681e8;
	padding: 5px 0 5px 10px;
	margin-bottom: 30px;
}



/* style 03 */
.headStyle03 {
	position: relative;
	padding-left: 30px;
	font-size: 2.2rem;
}

.headStyle03::before {
	position: absolute;
	content: "";
	border: 2px #831bf2 solid;
	width: 12px;
	height: 12px;
	top: 10px;
	left: 5px;
}

.headStyle03::after {
	position: absolute;
	content: "";
	border: 2px #192dff solid;
	width: 12px;
	height: 12px;
	top: 15px;
	left: 0;
	
}
/* サムネイル名 */
.thumb {
	cursor: pointer;
}


/* サムネイルエリア */
.zimage {
	display: none;
	position: fixed;
	background: rgba( 50,50,50,.8);
	
	opacity: 0;
	
	top: 0;
	left: 0;
	width: 100%;
	height: 200%;
	
	z-index: 102;
}

/* 描画エリア */
.zimage .zwrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* 拡大画像box */
.zimage .img {
	position: absolute;
}

/* 画像 */
.zimage .img img {
	opacity: 0;
}

/* 拡大画像boxのアニメーション */
.thumbAnime {
	animation: animethumbSp .6s forwards;
}

@keyframes animethumbSp {
	0% {
		transform: translate( 0, 0 );
	}
	
	100% {
		top: 50%;
		left: 50%;
		transform: translate( -50%, -50% );
	}
}

.thumbAnimeImg {
	animation: animethumbImgSp .6s forwards;
}

@keyframes animethumbImgSp {
	0% {
	}

	100% {
		width: 100%;
		height: 100%;
	}
	
}




/*----------------------------
　サービスの流れ
----------------------------*/
#content-flow {
	margin: 0;
}

#content-flow .first {
	margin-bottom: 60px;
}


/* 流れbox */
#content-flow .flow {
	margin: 20px 0;
	counter-reset: step 0;
}


#content-flow .flow li:not(:last-child) {
	position: relative;
	padding-bottom: 80px;
}

#content-flow .flow .step {
	position: relative;
	z-index: 3;
}

#content-flow .flow h3 {
	position: relative;
	background: url( "../img/bg.png" ) repeat;
	background-color: #003487;
	color: #fff;
	text-shadow: 1px 1px 2px #000;
	
	font-size: 1.6rem;
	padding: 10px 0 10px 60px ;
	margin: 0 0 20px 30px;
	box-shadow: 2px 2px 3px #000;

}

#content-flow .flow .circle {
	position: absolute;
	width: 76px;
	height: 76px;
	background: #E3F6F8;
	background: #003487;
	border: 3px #fff solid;
	border-radius: 50%;
	
	top: 50%;
	left: -5px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#content-flow .flow .circle p {
	position: absolute;
	text-align: center;
	width: 100%;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.2;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

#content-flow .flow .circle p span {
	display: block;
	font-size: 1.4rem;
}

/* コメント */
#content-flow .flow .commentBox {
	position: relative;
	padding: 20px 20px 20px 20px;
	margin: 0 0 30px 0;
	background: #fffdeb;
	border: 1px #dbcd00 solid;
	
	border-radius: 8px;
}



#content-flow .flow .commentBox .ex {
	color: #f33;
}


/* arrow */
#content-flow .flow li:not(:last-child):before,
#content-flow .flow li:not(:last-child):after {
	position: absolute;
	content: "";
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}


#content-flow .flow li:not(:last-child):before {
	width: 40px;
	height: 26px;
	background: -webkit-linear-gradient( top, #fff 0, #f33 100% );
	background: -moz-linear-gradient( top, #fff 0, #f33 100% );
	background: -ms-linear-gradient( top, #fff 0, #f33 100% );
	bottom: 60px;

}
#content-flow .flow li:not(:last-child):after {
	position: absolute;
	content: "";
	border-top: 30px #f33 solid;
	border-left: 40px transparent solid;
	border-right: 40px transparent solid;
	bottom: 31px;
}

/*----------------------------
　お申し込みについて
----------------------------*/
#content-date {
}


#content-date .dateBox {
}


#content-date .dateBox [class^="box"] {
}


/* box01 */
#content-date .dateBox .box01 {
	margin-bottom: 50px;
	background: #fffdeb;
	border: 1px #faea00 solid;
	padding: 20px 10px;
	box-shadow: 1px 1px 3px #aaa;
}

/* 見出し */
#content-date .box01 h3 {
	color: #fff;
	font-size: 1.6rem;
	background: #365284;
	border-radius: 15px;
	text-align: center;
	text-shadow: 1px 1px 3px #333;
	padding: 2px 0;
	margin-bottom: 10px;
}

#content-date .box01 li {
}


#content-date .box01 li:not(:last-child) {
	margin-bottom: 30px;
}

#content-date .box01 p {
	font-size: 1.6rem;
	padding: 0 10px;
}

/* 強調 */
#content-date .box01 .ex {
	color: #d33;
}


/* box02 */
#content-date .dateBox .box02 {
	background: #fffdeb;
	border: 1px #faea00 solid;
	box-shadow: 1px 1px 3px #aaa;

	padding: 20px 10px;
	margin-bottom: 80px;


}

/* メッセージbox */
#content-date .dateBox .mbox {
	margin-bottom: 30px;
}

#content-date .dateBox .mbox h3 {
	font-size: 2.2rem;
	border-bottom: 1px #aaa dotted;
	margin-bottom: 10px;
}

#content-date .dateBox .mbox .commentBox p {
	font-size: 1.6rem;
}

#content-date .dateBox .mbox .commentBox .ex {
	color: #f33;
	font-size: 1.4rem;
	font-weight: bold;
}




/* カレンダーbox */
#content-date .dateBox .calbox {
}

/* カレンダー */
#content-date .dateBox table {
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

#content-date .dateBox th,
#content-date .dateBox td {
	border: 1px #aaa solid;
}


/* 曜日 */
#content-date .dateBox th {
	color: #fff;
	background: #333;
	text-align: center;
	font-size: 1.6rem;
}
#content-date .dateBox th:nth-child(1) { background: #f33; }
#content-date .dateBox th:nth-child(7) { background: #33f; }


/* 日付 */
#content-date .dateBox td {
	padding: 10px 4px 4px 0;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: right;
	background: #fff;
	line-height: 1.4rem;
	height: 30px;
}

#content-date .dateBox tr:nth-child(2n) td {
	height: 26px;
	border-bottom: none;
}

#content-date .dateBox tr:nth-child(2n+1) td {
	border-top: none;
}



/* 土日 */
#content-date .dateBox td:nth-child(1) { color: #f33; }
#content-date .dateBox td:nth-child(7) { color: #33f; }

/* お申込日など */
#content-date .dateBox .exbox01a {
	color: #fff;
	font-size: 1.0rem;
	text-align: center;
	background: #f33;
	background: -webkit-linear-gradient( left, #de1b1b 0, #f33 20%, #f33 80%, #de1b1b 100% );
	padding: 0;
	vertical-align: middle;
	text-shadow: 1px 1px 1px #333;
}

/* 日付背景(赤) */
#content-date .dateBox .exbox01b {
	background: #fdd;
}


/* 配布ご希望日 */
#content-date .dateBox .exbox02a td:nth-child(2) {
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	background: #3493EB;
	background: -webkit-linear-gradient( left, #266cad 0, #3493EB 30%, #3493EB 70%, #266cad 100% );
	background: -moz-linear-gradient( left, #266cad 0, #3493EB 30%, #3493EB 70%, #266cad 100% );
	background: -ms-linear-gradient( left, #266cad 0, #3493EB 30%, #3493EB 70%, #266cad 100% );
	padding: 0;
	vertical-align: middle;
	text-shadow: 1px 1px 1px #333;

}

/* 日付背景(青) */
#content-date .dateBox .exbox02b td:nth-child(n+2) {
	background: #def;
	
}

/* 補足 */
#content-date .submsg h3 {
	font-size: 2.2rem;
	border-bottom: 1px #aaa dotted;
	margin-bottom: 10px;
}

/* マージン */
#content-date .submsg .commentBox:not(:last-of-type) {
	margin-bottom: 50px;
}

#content-date .submsg .commentBox p {
	font-size: 1.6rem;
	margin-bottom: 10px;
}

#content-date .submsg .commentBox .ex {
	color: #f33;
	font-size: 1.6rem;
	font-weight: bold;
}



/* 補足 */
