@charset "utf-8";
/* CSS Document */

/* -------------------------------------
Browser：IE11 over
-------------------------------------
01: CSSをReset
02: /css/default.cssを変更
03: Default
-------------------------------------*/

/** ================================================================================
		01.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:none;
background:transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}
h1, h2, h3, h4, h5, h6,
dt,th{
	font-weight:inherit;
	line-height:inherit;
}
ul,ol {
list-style:none;
}
blockquote, q {
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}
table {
border-spacing:0;
border-collapse:collapse;
}
/* change border colour to suit your needs */
hr {
display:block;
margin:1em 0;
padding:0;
height:1px;
border:0;
border-top:1px solid #cccccc;
}
img{
	border:none;
	line-height: 1.0;
}
b,em,i,strong,address{
	font-style: normal;
}

/** ================================================================================
		02./css/default.cssを変更
================================================================================ **/

h1, h2, h3, h4, h5, h6 {
	clear: none;
}

/** ================================================================================
		03.Default
================================================================================ **/
:root{
	--pink:#f51e8a;
	--sky:#34c6eb;
	--bg-sky:rgb(from var(--sky) r g b / 0.2);
	--yellow:#ffe200;

}
html{
	overflow: auto;
}
body{
	margin: 0 auto;
	min-width: 980px;
	background: #ffffff;
	color:#313131;
	font-size:16px;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,'Noto Sans JP', sans-serif;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	line-height: 1.8;
	font-weight: 500;

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

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

p a{
	text-decoration:underline;
}p a:hover{
	text-decoration:none;
}

a{
	color:inherit;
	text-decoration:none;
	cursor: pointer;
}a:hover{
	-webkit-transition: .3s;
	transition: .3s;
}

a:hover img{
}

/**PC電話ボタン無効**/
a[href^="tel"]{
	pointer-events: none;
}
@media screen and (max-width: 768px) {
	a[href^="tel"]{
		pointer-events: auto;
	}
}

hr{
	display:block;
	margin:1em 0;
	padding:0;
	height:1px;
	border:0;
	border-top:1px solid #666666;
}

.note{
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}

figure img{
	max-width: 100%;
}

@media screen and (max-width: 768px) {
	body{
		min-width: 100%;
	}
	/**post制御**/
	p{
		word-break: break-all;
	}
	table{
		width: 100%;
		word-break: break-all;
	}
	img{
		max-width: 100%;
		height: auto;
	}
	/**post制御**/
}


/* -------------------------------------
ベーススタイル設定

1.clearfix,clear
2.font
3.float
4.text-align
5.margin
6.padding
-------------------------------------*/
/*0.clock */
.block{
	display: block;
}
.in-block{
	display: inline-block;
}

/*1. clearfix,clear */

/* For modern browsers */
.cf:before,
.cf:after {
	display:block;
	overflow:hidden;
	content:"";
}

.cf:after {
	clear:both;
}

.clear{
	clear: both;
}

/*2. font 必要なら追加　優先順位：高*/
body .fw_b {
	font-weight: bold;
}
body .fz12{
	font-size: 12px;
}
body .fz13{
	font-size: 13px;
}
body .fz14{
	font-size: 14px;
}
body .fz16{
	font-size: 16px;
}
body .fz18{
	font-size: 18px;/*16*/
}
body .fz20{
	font-size: 20px;/*16*/
}
body .fz22{
	font-size: 22px;/*16*/
}
body .fz24{
	font-size: 24px;/*18*/
}
body .fz26{
	font-size: 26px;/*20*/
}
body .fz28{
	font-size: 28px;/*20*/
}
body .fz30{
	font-size: 30px;/*28*/
}
body .fz32{
	font-size: 32px;/*28*/
}
body .fz44{
	font-size: 44px;/*36*/
}
body .fz46{
	font-size: 46px;/*40*/
}
body .fz54{
	font-size: 54px;/*42*/
}

@media screen and (max-width: 768px) {
	body .fz18{
		font-size: 16px;/*16*/
	}
	body .fz20{
		font-size: 16px;/*16*/
	}
	body .fz22{
		font-size: 16px;/*16*/
	}
	body .fz24{
		font-size: 18px;/*18*/
	}
	body .fz26{
		font-size: 20px;/*20*/
	}
	body .fz28{
		font-size: 20px;/*20*/
	}
	body .fz30{
		font-size: 28px;/*28*/
	}
	body .fz32{
		font-size: 28px;/*28*/
	}
	body .fz44{
		font-size: 36px;/*36*/
	}
	body .fz46{
		font-size: 40px;/*40*/
	}
	body .fz54{
		font-size: 42px;/*42*/
	}
}

/*3. float */
.f_L {
	display: inline;
	float: left;
}
.f_R {
	display: inline;
	float: right;
}

/*4. text-align 優先順位：高 */
body .t_R {
	text-align: right;
}
body .t_L {
	text-align: left;
}
body .t_C,
body .t_CL,
body .t_CR{
	text-align: center;
}

body .ai_c{
	align-items: center;
}
body .ai_fe{
	align-items:flex-end;
}
body .ai_fs{
	align-items:flex-start;
}
body .ai_s{
	align-items:stretch;
}

body .jc_c{
	justify-content: center;
}
body .jc_fs{
	justify-content: flex-start;
}
body .jc_sb{
	justify-content: space-between;
}
body .jc_sa{
	justify-content: space-around;
}

@media screen and (max-width: 768px){
	body .t_CL{
		text-align: left;
	}
	body .t_CR{
		text-align: right;
	}
}

/*5. margin 必要なら追加　優先順位：高 */
body .m0 {
	margin: 0;
}
body .mb0{
	margin-bottom: 0;
}
body .mb5 {
	margin-bottom: 5px;
}
body .mb10 {
	margin-bottom: 10px;
}
body .mb15 {
	margin-bottom: 15px;
}
body .mb20 {
	margin-bottom: 20px;
}
body .mb30 {
	margin-bottom: 30px;
}
body .mb40 {
	margin-bottom: 40px;
}
body .mb50 {
	margin-bottom: 50px;
}
body .mb80 {
	margin-bottom: 80px;
}
body .mb100 {
	margin-bottom: 100px;
}
body .mb150 {
	margin-bottom: 150px;
}
body .mt0{
	margin-top: 0px;
}
body .mt5 {
	margin-top:5px;
}
body .mt10 {
	margin-top:10px;
}
body .mt15 {
	margin-top:15px;
}
body .mt20 {
	margin-top:20px;
}
body .mt30 {
	margin-top:30px;
}
body .mt40 {
	margin-top:40px;
}
body .mt50 {
	margin-top:50px;
}
body .mt80 {
	margin-top:80px;
}
body .mt100 {
	margin-top:100px;
}
body .mt150 {
	margin-top:150px;
}
body .ml0{
	margin-left: 0;
}
body .ml5 {
	margin-left: 5px;
}
body .ml10 {
	margin-left: 10px;
}
body .ml15 {
	margin-left: 15px;
}
body .ml20 {
	margin-left: 20px;
}
body .ml30 {
	margin-left: 30px;
}
body .mr0{
	margin-right: 0;
}
body .mr5 {
	margin-right: 5px;
}
body .mr10 {
	margin-right: 10px;
}
body .mr15 {
	margin-right: 15px;
}
body .mr20 {
	margin-right: 20px;
}
body .mr30 {
	margin-right: 30px;
}


@media screen and (max-width: 768px) {
	/*5. margin 30以上は1/2 */
	body .mb40 {
		margin-bottom: 20px;
	}
	body .mb50 {
		margin-bottom: 25px;
	}
	body .mb80 {
		margin-bottom: 40px;
	}
	body .mb100 {
		margin-bottom: 50px;
	}
	body .mb150 {
		margin-bottom: 75px;
	}
	body .mt40 {
		margin-top:20px;
	}
	body .mt50 {
		margin-top:25px;
	}
	body .mt80 {
		margin-top:40px;
	}
	body .mt100 {
		margin-top:50px;
	}
	body .mt150 {
		margin-top:75px;
	}
}

/*6. padding 優先順位:高*/
body .p0 {
	padding: 0;
}
body .plr5 {
	padding: 0 5px;
}
body .plr10 {
	padding: 0 10px;
}
body .plr15 {
	padding: 0 15px;
}
body .plr20 {
	padding: 0 20px;
}
body .ptb10 {
	padding: 10px 0;
}
body .ptb20 {
	padding: 20px 0;
}
body .pall10 {
	padding: 10px;
}
body .pall20 {
	padding: 20px;
}

/* -------------------------------------
幅
-------------------------------------*/
body .w100p,
body .w980,
body .w900,
body .w800,
body .w700,
body .w650,
body .w600{
	margin-right: auto;
	margin-left : auto;
}
body .w100p{
	width: 100%;
}
body .w980{
	width: 980px;
}
body .w900{
	width: 900px;
}
body .w800{
	width: 800px;
}
body .w700{
	width: 700px;
}
body .w650{
	width: 650px;
}
body .w600{
	width: 600px;
}

@media screen and (max-width: 768px) {
	body .w100p,
	body .w980,
	body .w900,
	body .w800,
	body .w700,
	body .w650,
	body .w600{
		margin-right: auto;
		margin-left : auto;
	}
	body .w100p{
		width: 100%;
	}
	body .w980{
		width: 100%;
	}
	body .w900{
		width: 100%;
	}
	body .w800{
		width: 100%;
	}
	body .w700{
		width: 100%;
	}
	body .w650{
		width: 100%;
	}
	body .w600{
		width: 100%;
	}
	body .w100p > *,
	body .w980 > *,
	body .w900 > *,
	body .w800 > *,
	body .w700 > *,
	body .w650 > *,
	body .w600 > *{
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	body .w100p > .max,
	body .w100p.max,
	body .w980 > .max,
	body .w980.max,
	body .w900 > .max,
	body .w900.max,
	body .w800 > .max,
	body .w800.max,
	body .w700 > .max,
	body .w700.max,
	body .w650 > .max,
	body .w650.max,
	body .w600 > .max,
	body .w600.max{
		width: 100%;
	}
}

body .calc980{
	padding-right: calc( ( 100% - 980px ) / 2 );
	padding-left: calc( ( 100% - 980px ) / 2 );
}

@media screen and (max-width: 768px){
	body .calc980{
	padding-right: 0;
	padding-left: 0;
	}
	body .calc980 > .max{
		width: 100%;
	}
	body .calc980 > *{
		margin-right: auto;
		margin-left: auto;
		width: 90%;
	}
}

/* -------------------------------------
文字装飾
-------------------------------------*/
/**黄色マーカー**/
b.liner{
	background: -webkit-linear-gradient(transparent 40%, #ffef00 0%);
	background: linear-gradient(transparent 40%, #ffef00 0%);
	padding: 0 10px 5px;
}

/* -------------------------------------
改行
-------------------------------------*/
.pc{
}
.sp{
	display:none;
}

@media screen and (max-width: 768px) {
	.pc{
		display: none;
	}
	.sp{
		display:block;
	}
}


/* -------------------------------------
カラム
-------------------------------------*/
/**２つ並び**/
.box2C{
	display: flex;
	width: 100%;

	justify-content: space-between;
	flex-wrap: wrap;
}
.box2C > *{
	margin: 20px 0 0;
	width: 48%;
}
.box2C:after{
	display: block;
	width: 48%;
	content: "";
}

/**3つ並び**/
.box3C{
	display: flex;
	width: 100%;

	justify-content: space-between;
	flex-wrap: wrap;
}
.box3C > *{
	margin: 20px 0 0;
	width: 31.5%;
}
.box3C:after{
	display: block;
	width: 31.5%;
	content: "";
}

/**4つ並び**/
.box4C{
	display: flex;
	width: 100%;

	justify-content: space-between;
	flex-wrap: wrap;
}
.box4C > *{
	margin: 20px 0 0;
	width: 23%;
}
.box4C:after,
.box4C:before{
	display: block;
	width: 23%;
	content: "";
}
.box4C:before{
	order:1;
}
.boxLR{
	display: flex;
	margin: 10px auto;

	justify-content: space-between;
}

@media screen and (max-width: 768px) {
	/**２つ並び**/
	.box2C{
		width: 100%;

		flex-flow: column;
	}
	.box2C > *{
		width: 100%;
	}
	.box2C:after{
		display: none;
	}

	/**3つ並び**/
	.box3C{
		width: 100%;

		flex-flow: column;
	}
	.box3C > *{
		width: 100%;
	}
	.box3C:after{
		display: none;
	}

	/**4つ並び**/
	.box4C{
		width: 100%;

		flex-flow: column;
	}
	.box4C > *{
		width: 100%;
	}
	.box4C:after,
	.box4C:before{
		display: none;
	}
}

/* -------------------------------------
見出し+テキスト+画像
.h-text-img>
div>h+p
figure>img

.h-text-img　：　見出し+テキスト　画像右
.h-text-img.left　：　画像左　見出し+テキスト
.h-text-img.center　：　画像+見出し+テキスト　縦並び
-------------------------------------*/
.h-text-img{
	display: flex;
	margin: 30px auto;
	width: 100%;

	justify-content: space-between;
}
.h-text-img.left{
	flex-direction:row-reverse;
}
.h-text-img.center{
	flex-flow: column-reverse nowrap;
}
.h-text-img > div{
	margin: 0 30px 0 0;

	flex: 1;
}.h-text-img.left > div{
	margin: 0 0 0 30px;
}
.h-text-img.center > div{
	margin: 0 30px;

	flex: auto;
}
.h-text-img figure{
	width: 400px;
	height: auto;
}
.h-text-img.center figure{
	margin: 0 0 30px;
	width: 100%;
	height: auto;
}
.h-text-img.center figure{
	margin: 30px 0;
}
.h-text-img.big figure{
	width: 643px;
}
.h-text-img.min figure{
	width: 280px;
}
.h-text-img.free figure{
	width: auto;
}
.h-text-img figure img{
	width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	.h-text-img{
		margin: 30px auto;
		width: 100%;

		flex-flow: column;
	}
	.h-text-img.left{
		flex-direction:column-reverse;
	}
	.h-text-img.center{
		flex-flow: column-reverse nowrap;
	}
	.h-text-img > div,
	.h-text-img.left > div,
	.h-text-img.center > div{
		margin: 5px 0;

		flex: 1;
	}
	.h-text-img figure{
		margin: 5px auto;
		max-width: 400px;
		width: 100%;
		height: auto;
	}
	.h-text-img.center figure{
		margin: 5px auto;
		max-width: 100%;
	}
	.h-text-img figure img{
		width: 100%;
	}
	.h-text-img.big figure{
		max-width: 643px;
		width: 100%;
	}
	.h-text-img.min figure{
		max-width: 280px;
		width: 100%;
	}
}

/* -------------------------------------
写真+テキスト
-------------------------------------*/
.img-text{
}
.img-text figure{
	margin: 0 auto 20px;
	width: 980px;
}
.img-text .richtext{
	margin: 0 auto 40px;
	width: 700px;
	line-height: 1.8;
}

@media screen and (max-width: 768px) {
	.img-text figure{
		width: 100%;
	}
	.img-text .richtext{
		width: 95%;
	}
}


/* -------------------------------------
吹き出し
-------------------------------------*/
/**塗りつぶし（下）**/
.balloon1_B {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon1_B:before {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 10px 5px;
	border-style: solid;
	border-color: #e0edff transparent transparent transparent;
	content: "";
}
/**塗りつぶし（上）**/
.balloon1_T {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon1_T:before {
	position: absolute;
	top: -20px;
	left: 50%;
	margin-left: -5px;
	border-width: 10px 5px;
	border-style: solid;
	border-color: transparent transparent #e0edff  transparent;
	content: "";
}
/**塗りつぶし（左）**/
.balloon1_L {
	position: relative;
	display: inline-block;
	margin: 1.5em 0 1.5em 15px;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon1_L:before {
	position: absolute;
	top: 50%;
	left: -20px;
	margin-top: -5px;
	border-width: 5px 10px;
	border-style: solid;
	border-color: transparent #e0edff transparent  transparent;
	content: "";
}
/**塗りつぶし（右）**/
.balloon1_R {
	position: relative;
	display: inline-block;
	margin: 1.5em 15px 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	font-size: 16px;
}.balloon1_R:before {
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -5px;
	border-width: 5px 10px;
	border-style: solid;
	border-color: transparent  transparent  transparent #e0edff;
	content: "";
}

/**線（下）**/
.balloon2_B {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon2_B:before {
	position: absolute;
	bottom: -18px;
	left: 50%;
	z-index: 2;
	margin-left: -6px;
	border-width: 9px 6px;
	border-style: solid;
	border-color: #fff transparent  transparent  transparent;
	content: "";
}.balloon2_B:after {
	position: absolute;
	bottom: -20px;
	left: 50%;
	z-index: 1;
	margin-left: -7px;
	border-width: 10px 7px;
	border-style: solid;
	border-color: #555 transparent  transparent  transparent;
	content: "";
}
/**線（上）**/
.balloon2_T {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon2_T:before {
	position: absolute;
	top: -18px;
	left: 50%;
	z-index: 2;
	margin-left: -6px;
	border-width: 9px 6px;
	border-style: solid;
	border-color:  transparent  transparent #fff  transparent;
	content: "";
}.balloon2_T:after {
	position: absolute;
	top: -20px;
	left: 50%;
	z-index: 1;
	margin-left: -7px;
	border-width: 10px 7px;
	border-style: solid;
	border-color:  transparent  transparent #555 transparent;
	content: "";
}
/**線（左）**/
.balloon2_L {
	position: relative;
	display: inline-block;
	margin: 1.5em 0 1.5em 15px;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon2_L:before {
	position: absolute;
	top: 50%;
	left: -18px;
	z-index: 2;
	margin-top: -6px;
	border-width: 6px 9px;
	border-style: solid;
	border-color:  transparent  #fff transparent  transparent;
	content: "";
}.balloon2_L:after {
	position: absolute;
	top: 50%;
	left: -20px;
	z-index: 1;
	margin-top: -7px;
	border-width: 7px 10px;
	border-style: solid;
	border-color:  transparent  #555 transparent  transparent;
	content: "";
}
/**線（右）**/
.balloon2_R {
	position: relative;
	display: inline-block;
	margin: 1.5em 15px 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon2_R:before {
	position: absolute;
	top: 50%;
	right: -18px;
	z-index: 2;
	margin-top: -6px;
	border-width: 6px 9px;
	border-style: solid;
	border-color:  transparent  transparent  transparent #fff ;
	content: "";
}.balloon2_R:after {
	position: absolute;
	top: 50%;
	right: -20px;
	z-index: 1;
	margin-top: -7px;
	border-width: 7px 10px;
	border-style: solid;
	border-color:  transparent  transparent  transparent #555 ;
	content: "";
}

/* -------------------------------------
カテゴリボタン
-------------------------------------*/
.catBtn{
	display: flex;
	margin:  25px auto;

	justify-content: center;
}
.catBtn a{
	position: relative;
	display: block;
	margin: 15px;
	padding: 10px 40px 10px 20px;
	min-width: 8em;
	border: 1px solid #000;
	background: #000;
	color: #fff;
	text-align: left;
	font-weight: bold;
}
.catBtn a:after{
	position: absolute;
	right: 10px;
	content: "\e5cc";
	font-family: 'Material Icons';
}
.catBtn a:hover{
	background: #fff;
	color: #000;
}

@media screen and (max-width: 768px) {
	.catBtn{
		display: flex;
		margin:  20px auto;
		width: 100%;

		flex-wrap: wrap;
		justify-content: space-between;
	}
	.catBtn a{
		margin: 0 0 8px;
		padding: 10px 20px 10px 10px;
		min-width: 8em;
		width: 49%;
	}
}


/* -------------------------------------
写真のエフェクト
-------------------------------------*/
/**4辺ぼかし：親要素にかける**/
.blur_w {
	position: relative;
	display: inline-block;
}
.blur_w:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0);
	box-shadow:
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff;
	content: "";
}

/**角丸：画像に直接かけれる**/
.radius{
	border-radius: 15px;
}

/**hover時画像拡大**/
.scale {
	overflow: hidden;
}
.scale img {
	-webkit-transition: -webkit-transform 0.3s linear;
	-moz-transition: -moz-transform 0.3s linear;
	-ms-transition: -ms-transform 0.3s linear;
	-o-transition: -o-transform 0.3s linear;
	transition: transform 0.3s linear;
}
a:hover .scale img {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-o-transform: scale(1.2);
	transform: scale(1.2);
}

/**-------------------------------------
地図 動画 iframe
-------------------------------------**/
iframe{
	width: 100%;
}
.youtube{
	margin: 30px auto 20px;
	width:100%;
	background-position: center;
	background-size:cover;
	background-repeat: no-repeat;
	padding-bottom: 75%;
	height:0px;
	position: relative;
}
.youtube iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width: 768px) {
	.youtube{
			margin: 20px auto 10px;
	}
}