/* -------------------------------------
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:normal;
	line-height: 1.3;
}
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;
	vertical-align: top;
}
b,em,i,strong,address{
	font-style: normal;
}

/** ================================================================================
		02./css/default.cssを変更
================================================================================ **/
h1, h2, h3, h4, h5, h6 {
	clear: none;
}

/** ================================================================================
		03.Default
================================================================================ **/
html{
	overflow: auto;
}
body{
	margin: 0 auto;
	background: #ffffff;
    color:#231F20;
	font-size:15px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
	line-height: 1.5;
	overflow: hidden;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
* {
	-webkit-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{
	opacity: 0.8;
	-ms-filter: alpha(opacity=80);
	filter: alpha(opacity=80);
}


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

hr{
	display:block;
	margin:3px auto;
	padding:0;
	height:1px;
	border:0;
	border-top:1px solid #ffffff;
	width:90%;
}

figure img{
	max-width: 100%;
}

/**post制御**/
p{
	word-break: break-all;
}
table{
	width: 100%;
	word-break: break-all;
}
img{
	max-width: 100%;
	height: auto;
}
/**post制御**/

@media screen and (min-width: 769px) {
	body{
		min-width: 980px;
		font-size: 16px;
	}
}


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

1.clearfix,clear
2.font
3.float
4.text-align
5.margin
6.padding
-------------------------------------*/

/*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 .fs14{
    font-size: 0.87rem;/*13*/
}
body .fs15{
    font-size: 0.94rem;/*14*/
}
body .fs17{
    font-size: 17px;/*16*/
}
body .fs18{
    font-size: 18px;/*16*/
}
body .fs20{
    font-size: 20px;/*16*/
}
body .fs22{
    font-size: 22px;/*16*/
}
body .fs24{
    font-size: 24px;/*18*/
}
body .fs26{
    font-size: 26px;/*20*/
}
body .fs28{
    font-size: 28px;/*20*/
}
body .fs30{
    font-size: 30px;/*28*/
}
body .fs32{
    font-size: 32px;/*28*/
}
body .fs35{
    font-size: 35px;/*28*/
}
body .fs40{
    font-size: 40px;/*36*/
}
body .fs44{
    font-size: 44px;/*36*/
}
body .fs46{
    font-size: 46px;/*40*/
}
body .fs50{
    font-size: 50px;/*40*/
}
body .fs54{
    font-size: 54px;/*42*/
}
body .fs60{
    font-size: 60px;/*42*/
}
body .fs70{
    font-size: 70px;/*42*/
}

@media screen and (max-width: 768px) {
    body .fs17{
        font-size: 15px;/*16*/
    }
    body .fs18{
        font-size: 16px;/*16*/
    }
    body .fs20{
        font-size: 16px;/*16*/
    }
    body .fs22{
        font-size: 16px;/*16*/
    }
    body .fs24{
        font-size: 18px;/*18*/
    }
    body .fs26{
        font-size: 20px;/*20*/
    }
    body .fs28{
        font-size: 20px;/*20*/
    }
    body .fs30{
        font-size: 26px;/*28*/
    }
    body .fs32{
        font-size: 28px;/*28*/
    }
    body .fs35{
        font-size: 30px;/*28*/
    }
    body .fs40{
        font-size: 36px;/*36*/
    }
    body .fs44{
        font-size: 36px;/*36*/
    }
    body .fs46{
        font-size: 40px;/*40*/
    }
    body .fs50{
        font-size: 42px;/*40*/
    }
    body .fs54{
        font-size: 42px;/*42*/
    }
    body .fs60{
        font-size: 46px;/*42*/
    }
    body .fs70{
        font-size: 48px;/*42*/
    }
}

@media screen and (max-width: 480px) {
    body .fs26{
        font-size: 20px;/*20*/
        font-size: 5vw;/*18*/
    }
    body .fs28{
        font-size: 24px;/*20*/
        font-size: 5vw;/*18*/
    }
    body .fs30{
        font-size: 28px;/*28*/
        font-size: 5vw;/*18*/
    }
    body .fs32{
        font-size: 28px;/*28*/
        font-size: 6vw;/*18*/
    }
    body .fs35{
        font-size: 5.8vw;/*28*/
        font-size: 6vw;/*18*/
    }
    body .fs40{
        font-size: 36px;/*36*/
        font-size: 7vw;/*26*/
    }
    body .fs44{
        font-size: 36px;/*36*/
        font-size: 7vw;/*26*/
    }
    body .fs46{
        font-size: 40px;/*40*/
        font-size: 7vw;/*26*/
    }
    body .fs50{
        font-size: 5.8vw;/*40*/
        font-size: 7vw;/*26*/
    }
    body .fs54{
        font-size: 42px;/*42*/
        font-size: 7vw;/*26*/
    }
    body .fs60{
        font-size: 8.8vw;/*42*/
    }
    body .fs70{
        font-size: 42px;/*42*/
        font-size: 8.8vw;/*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 {
	text-align: center;
}


/*5. margin 必要なら追加　優先順位：高 */
/*5. margin 30以上は1/2 */
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: 20px;
}
body .mb40 {
	margin-bottom: 30px;
}
body .mb50 {
	margin-bottom: 35px;
}
body .mb80 {
	margin-bottom: 40px;
}
body .mb100 {
	margin-bottom: 50px;
}
body .mb150 {
	margin-bottom: 75px;
}
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:20px;
}
body .mt40 {
	margin-top:30px;
}
body .mt50 {
	margin-top:35px;
}
body .mt80 {
	margin-top:40px;
}
body .mt100 {
	margin-top:50px;
}
body .mt150 {
	margin-top:75px;
}
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 (min-width: 769px) {
	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 .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;
	}
}


/*6. padding 優先順位:高*/

/* -------------------------------------
padding
-------------------------------------*/
body .pt10{
    padding-top: 10px;
}
body .pt20{
    padding-top: 20px;
}
body .pt30{
    padding-top: 30px;
}
body .pt40{
    padding-top: 40px;
}
body .pt50{
    padding-top: 50px;
}
body .pt80{
    padding-top: 80px;
}
body .pb10{
    padding-bottom: 10px;
}
body .pb20{
    padding-bottom: 20px;
}
body .pb30{
    padding-bottom: 30px;
}
body .pb40{
    padding-bottom: 40px;
}
body .pb50{
    padding-bottom: 50px;
}
body .pb80{
    padding-bottom: 80px;
}
body .pall20 {
    padding: 20px;
}
body .pall30 {
    padding: 30px;
}
body .pall40 {
    padding: 40px;
}
body .pall50 {
    padding: 50px;
}

@media screen and (max-width: 768px) {
    body .pt40{
        padding-top: 30px;
    }
    body .pt50{
        padding-top: 30px;
    }
    body .pt80{
        padding-top: 40px;
    }
    body .pb40{
        padding-bottom: 30px;
    }
    body .pb50{
        padding-bottom: 30px;
    }
    body .pb80{
        padding-bottom: 40px;
    }
    body .pall30 {
        padding: 20px;
    }
    body .pall40 {
        padding: 20px;
    }
    body .pall50 {
        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: 100%;
}
body .w900{
	width: 90%;
}
body .w800{
	width: 90%;
}
body .w700{
	width: 90%;
}
body .w650{
	width: 90%;
}
body .w600{
	width: 90%;
}

@media screen and (min-width: 769px) {
	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;
	}
}



/* -------------------------------------
文字装飾
-------------------------------------*/
/**黄色マーカー**/
b.liner{
	background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(0%, #fff552));
	background: linear-gradient(transparent 40%, #fff552 0%);
}

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

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




/* -------------------------------------
吹き出し
-------------------------------------*/
/**塗りつぶし（下）**/
.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: "";
}



/* -------------------------------------
横並びボックスの数
-------------------------------------*/
/**２つ並び**/
.box2C{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: 100%;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.box2C > *{
width: 48%;
}
.box2C:after{
display: block;
width: 48%;
content: "";
}

/**3つ並び**/
.box3C{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: 100%;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.box3C > *{
width: 32%;
}
.box3C:after{
display: block;
width: 32%;
content: "";
}

/**4つ並び**/
.box4C{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: 100%;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.box4C > *{
width: 24.5%;
}
.box4C:after,
.box4C:before{
display: block;
width: 24.5%;
content: "";
}
.box4C:before{
-webkit-box-ordinal-group:2;
-ms-flex-order:1;
order:1;
}

@media screen and (max-width: 768px) {
	/* -------------------------------------
	横並びボックスの数
	-------------------------------------*/
	/**２つ並び**/
	.box2C{
	width: 100%;
	}
	.box2C.box1C_sp{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	}.box2C.box2C_sp{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	}
	.box2C.box1C_sp > *{
	width: 100%;
	}
	.box2C.box1C_sp:after{
	display: none;
	}
	.box2C.box2C_sp > *,
	.box2C.box2C_sp::after{
	width: 48%;
	}
	.box2C.box2C_sp.sp1c>*,
	.box2C.box2C_sp.sp1c::after{
	/*		min-width: 300px;*/
	}
	
	/**3つ並び**/
	.box3C{
	width: 100%;
	}
	.box3C.box1C_sp{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	}.box3C.box2C_sp{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	}
	.box3C.box3C_sp{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	}
	.box3C.box1C_sp > *{
	width: 100%;
	}
	.box3C.box1C_sp:after{
	display: none;
	}
	.box3C.box2C_sp > *,
	.box3C.box2C_sp::after{
	width: 48%;
	}
	.box3C.box3C_sp > *,
	.box3C.box3C_sp::after{
	width: 31%;
	}
	
	/**4つ並び**/
	.box4C{
	width: 100%;
	}
	.box4C.box1C_sp{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	}.box4C.box2C_sp{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	}
	.box4C.box1C_sp > *{
	width: 100%;
	}.box4C.box2C_sp > *{
	width: 48%;
	}
	.box4C:after,
	.box4C:before{
	display: none;
	}
}

@media screen and (max-width: 480px) {
	/* -------------------------------------
	横並びボックスの数
	-------------------------------------*/
	.sp1c{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column !important;
	}
	.sp1c>*,
	.sp1c::after{
	width: 100% !important;
	margin-left: auto;
	margin-right: auto;
	}
}
