@charset "utf-8";

/* @import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css); */
body{
	font-family: "Noto Sans Japanese","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	line-height: 1.6;
	color: #333333;
	font-size: 16px;
	padding-top: 86px;
	width: 100%;
	/*height: 100%!important;*/
	text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: none;
    -webkit-font-feature-settings: pkna;
    -moz-font-feature-settings: pkna;
    font-feature-settings: pkna;
	/*-webkit-text-size-adjust: 100%;*/
}

@media screen and ( min-width: 769px ){

	body{
		min-width: 1160px;
	}

}

@media screen and ( max-width: 640px ){
	.sp_font__12{ font-size: 12px !important;}
	.sp_font__13{ font-size: 13px !important;}
	.sp_font__14{ font-size: 14px !important;}
	.sp_font__16{ font-size: 16px !important;}
	.sp_font__18{ font-size: 18px !important;}
	.sp_font__20{ font-size: 20px !important;}

	.sp_li16{
		line-height: 1.6em !important;
	}
}

/* -----------------------------------------
 js fadePreo
----------------------------------------- */
.fadePreo{
	opacity: 0;
	-webkit-transition: 900ms cubic-bezier(.63,.08,.23,.83);
	-o-transition: 900ms cubic-bezier(.63,.08,.23,.83);
	-moz-transition: 900ms cubic-bezier(.63,.08,.23,.83);
	transition: 900ms cubic-bezier(.63,.08,.23,.83);
	-webkit-transition-property: opacity transform;
	-o-transition-property: opacity transform;
	-moz-transition-property: opacity transform;
	transition-property: opacity transform;
	-webkit-transform: translateY(30px);
	-moz-transform: translateY(30px);
	-ms-transform: translateY(30px);
	-o-transform: translateY(30px);
	transform: translateY(30px);
}


/* ===== 表示 ===== */
.fadePreo__On{
	opacity: 1;
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-ms-transform: translateY(0px);
	-o-transform: translateY(0px);
	transform: translateY(0px);
}




*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	/*-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;*/
}

a{
	-webkit-transition: 400ms ease-out all;
	-o-transition: 400ms ease-out all;
	-moz-transition: 400ms ease-out all;
	transition: 400ms ease-out all;
}

a:hover{
	opacity: .7;
}


.body_fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}


.line_height{
	overflow: hidden;
}

.bg_green{
	position: relative;
	background: #80af1f; /* Old browsers */
	background: -moz-linear-gradient(left, #80af1f 0%, #1e9739 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #80af1f 0%,#1e9739 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #80af1f 0%,#1e9739 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80af1f', endColorstr='#1e9739',GradientType=1 ); /* IE6-9 */
}

.layout{
	max-width: 1160px;
	width: 95%;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
}

.layout_thin{
	width: 900px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
}

.layout_950{
	width: 950px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
}

.fade-up {
  transition: opacity 0.7s;
  -moz-transition: opacity 0.7s;
  -webkit-transition: opacity 0.7s;
  -o-transition: opacity 0.7s;
  transition: transform 0.7s;
  -moz-transition: transform 0.7s;
  -webkit-transition: transform 0.7s;
  -o-transition: transform 0.7s;
}

.on_hover a{
	color: #666;
	-webkit-transition: 0.5s color;
	   -moz-transition: 0.5s color;
	    -ms-transition: 0.5s color;
	     -o-transition: 0.5s color;
	        transition: 0.5s color;
}

.headroom {position: fixed;top: 0;left: 0;right: 0;transition: all .2s linear;}
.headroom--unpinned {top: -60px;}
.headroom--pinned {top: 0;}

/*font-weight 指定*/

.jp100 {font-weight: 100;}
.jp200 {font-weight: 200;}
.jp300 {font-weight: 300;}
.jp400 {font-weight: 400;}
.jp500 {font-weight: 500;}
.jp700 {font-weight: 700;}
.jp800 {font-weight: 800;}
.jp900 {font-weight: 900;}
.jp1000 {font-weight: 900;}

.fz8 {font-size: 8px;}
.fz10 {font-size: 10px;}
.fz12 {font-size: 12px;}
.fz13 {font-size: 13px;}
.fz14 {font-size: 14px;}
.fz15 {font-size: 15px;}
.fz16 {font-size: 16px;}
.fz17 {font-size: 17px;}
.fz18 {font-size: 18px;}
.fz20 {font-size: 20px;}
.fz22 {font-size: 22px;}
.fz24 {font-size: 24px;}
.fz26 {font-size: 26px;}
.fz27 {font-size: 27px;}
.fz28 {font-size: 28px;}
.fz30 {font-size: 30px;}
.fz34 {font-size: 34px;}
.fz35 {font-size: 35px;}
.fz37 {font-size: 37px;}
.fz38 {font-size: 38px;}
.fz40 {font-size: 40px;}
.fz45 {font-size: 45px;}
.fz50 {font-size: 50px;}
.fz54 {font-size: 54px;}
.fz70 {font-size: 70px;}
.fz80 {font-size: 80px;}


.lh1_4{line-height: 1.4em;}
.lh1_5{line-height: 1.5em;}
.lh1_6{line-height: 1.6em;}
.lh2{line-height: 2em;	}

.mb0{margin-bottom: 0 !important;}
.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb25 {margin-bottom: 25px;}
.mb30 {margin-bottom: 30px;}
.mb40 {margin-bottom: 40px;}
.mb50 {margin-bottom: 50px;}
.mb56 {margin-bottom: 56px;}
.mb60 {margin-bottom: 60px;}
.mb100 {margin-bottom: 100px !important;}



.p10 {padding: 10px;}
.p20 {padding: 20px;}
.p30 {padding: 30px;}
.p40 {padding: 40px;}

.pt10{padding-top: 10px !important;}
.pt20{padding-top: 20px !important;}
.pt30{padding-top: 30px !important;}
.pt40{padding-top: 40px !important;}
.pt50{padding-top: 50px !important;}
.pt100{padding-top: 100px;}

.pb0{
	padding-bottom: 0 !important;
}

.pb80 {padding-bottom: 80px;}


.ptb40{padding: 40px 0;}

.ptb80{padding: 80px 0;}
.ptb100{padding: 100px 0;}

.pl30{
	padding-left: 30px;
}

.op06{
	opacity: 0.6;
}

.tac{
	text-align: center !important;
}

.tar{
	text-align: right;
}


.cW{
	color: #FFF;
}

.c_or{
	color: #EFAD2C;
}

.c_r{
	color: #FF5A19;
}

.c_green{
	color: #80A81F;
}


.bracket{
	text-indent: -50px;
}

.bracket20{
	text-indent: -20px;
}

.font_b{
	color: #E95A24;
}

.txt_sh{
	text-shadow: 0px 0px 9px rgba(0,0,0,0.3)
}

.bdb{
	border-bottom: 1px solid #000;
}

.bg_or{
background: #f4c92b; /* Old browsers */
background: -moz-linear-gradient(left, #f4c92b 0%, #efad2c 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #f4c92b 0%,#efad2c 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #f4c92b 0%,#efad2c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4c92b', endColorstr='#efad2c',GradientType=1 ); /* IE6-9 */
	color: #FFF;
}

.radius{
	-webkit-border-radius: 5px;
	        border-radius: 5px;
}

.btn{
	padding: 20px;
	display: inline-block;
	text-align: center;
}

.balloon{
	width: 400px;
	height: 88px;
	line-height: 80px;
	display: inline-block;
	text-align: center;
	color:#fff;
	background:url("../images/common/balloon.png") no-repeat;
}

.txt_box_short{
	width: 520px;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
}

.img_line_ttl{
	position: relative;
}

.img_line_ttl span{
	padding: 0 40px;
	display: inline-block;
	position: relative;
}

.img_line_ttl span:before{
	content: url("../images/common/line_left_w.png");
	position: absolute;
	bottom: -10px;
	left: 0;
}

.img_line_ttl span:after{
	content: url("../images/common/line_right_w.png");
	position: absolute;
	bottom: -10px;
	right: 0;
}


#header{
	background: #FFF;
	z-index: 1000;
}

#header #header_in{
	position: relative;
	height: 86px;
}

#header #header_in #menu{
	position: absolute;
	top: 0;
	right: 0;
}

#menu_btn{

}

#menu_btn:after{
	content: url("../images/common/btn_close.svg");

	text-align: center;
	width: 86px;
	height: 86px;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f4c92b+0,efad2c+100 */
	background: #f4c92b; /* Old browsers */
	background: -moz-linear-gradient(left, #f4c92b 0%, #efad2c 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #f4c92b 0%,#efad2c 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #f4c92b 0%,#efad2c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4c92b', endColorstr='#efad2c',GradientType=1 ); /* IE6-9 */
    color: #FFF;
    display: block;
    line-height: 100px;
}

#menu_btn.active:after{
	content: url("../images/common/btn_open.svg");
}

#header #logo{
	width: 100%;
	text-align: center;
	padding: 20px;
}

#header #logo a{
	display: inline-block;
	text-align: center;
}








#menu_btn{
	cursor: pointer;
}



.wrapper{
	width: 100%;
	margin: 0 auto;
}

/* -----------------------------------------
 ハンバーガーメニュー
----------------------------------------- */
#nav,
#nav_on__bg{
	-webkit-transition: 600ms cubic-bezier(.74,.02,.36,.84) all;
	-o-transition: 600ms cubic-bezier(.74,.02,.36,.84) all;
	-moz-transition: 600ms cubic-bezier(.74,.02,.36,.84) all;
	transition: 600ms cubic-bezier(.74,.02,.36,.84) all;
}


/* ========== nav ========== */
#nav{
	overflow: hidden;
	position: fixed;
	top: 0;
	right: -530px;
	/* right: 0; */
	max-width: 530px;
	width: 100%;
	height: 100%;
	padding-top: 86px;
	z-index: 950;
	opacity: 0;
}

#nav.nav__On{
	right: 0;
	opacity: 1;
}

#nav_in{
	width: 100%;
	height: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	padding-bottom: 100px;
	background: #f4c92b; /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
	background: -webkit-linear-gradient(left, #f4c92b 0%, #efad2c 100%);
	background: -o-linear-gradient(left, #f4c92b 0%, #efad2c 100%);
	background: linear-gradient(to right, #f4c92b 0%, #efad2c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

	overflow-y: auto;
	-webkit-overflow-scrolling:touch;
}

/* ===== main ul ===== */
#nav_in ul.main_nav li{
	border-bottom: 1px solid #fff;
}
#nav_in ul.main_nav li a::after{
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	display: block;
	position: absolute;
	top: 50%;
	transform: rotate(45deg) translateY( -50% );
	right: 28px;
}
#nav_in ul.main_nav li a{
	display: block;
	width: 100%;
	height: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 1.1em 2.1em;
	color: #FFF;
	position: relative;
	font-size: 18px;
	font-weight: bold;
}

@media screen and ( max-width: 768px ){
	#nav{
		padding-top: 50px;
	}
}

@media screen and ( max-width: 640px ){

	#nav_in{
		width: 100%;
		padding-bottom: 80px;
	}

	#nav_in ul.main_nav li a{
		font-size: 14px;
		font-weight: normal;
		padding: .9em 1em;
	}

	#nav_in ul.main_nav li a::after{
		right: 17px;
		width: 6px;
		height: 6px;
	}


}

/* ===== お問い合わせ ===== */
#nav_in .link_btn{
	text-align: center;
	max-width: 444px;
	width: 90%;
	margin: 35px auto 0;
	line-height: 1;
}

#nav_in .link_btn a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background: #FFF;
	padding: .9em;
	font-size: 18px;
	font-weight: bold;
	color: #EDAB2C;
}

#nav_in .link_btn a span{
	position: relative;
	padding-right: 21px;
}

#nav_in .link_btn a span::before{
	content: '';
	width: 21px;
	height: 15.6px;
	display: inline-block;
	vertical-align: middle;
	background-image: url('../images/common/icon-mail.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 6px;
	margin-top: -3px;
}

@media screen and ( max-width: 640px ){
	#nav_in .link_btn a{
		font-size: 14px;
		padding: 8px 0;
	}

}



/* ===== sns ===== */
#nav_in ul.sns{
	text-align: center;
	margin-top: 30px;
}

#nav_in ul.sns li{
	display: inline-block;
	margin-right: 22px;
}

#nav_in ul.sns li:last-child{
	margin-right: 0;
}

@media screen and ( max-width: 640px ) {
	#nav_in ul.sns{
		margin-top: 25px;
	}

	#nav_in ul.sns img{
		height: 30px;
	}
	#nav_in ul.sns li{
		margin-right: 15px;
	}
}


/* ========== 背景 ========== */
#nav_on__bg{
	background: rgba(255,255,255,0.8);
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 900;
	opacity: 0;
	visibility: hidden;
}

#nav_on__bg.nav_on__bg__on{
	opacity: 1;
	visibility: visible;
}


/* -----------------------------------------
 aside 体の歪み改善専門店LIGAREなら 。。。。
----------------------------------------- */
#aside{
	margin: 0 auto;
}

#tri_area{
	text-align: center;
	position: relative;
	margin-bottom: 80px;
	color: #333 !important;
	padding: 235px 0 95px;
}

/* === 背景 === */
#tri_area::before,
#tri_area::after{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: 3000px;
	background-repeat: no-repeat;
	z-index: 0;
	pointer-events: none;
}

#tri_area::before{
	top: 0;
	background-image: url('../images/common/bn_bg_top.png');
	background-position: center top;
}
#tri_area::after{
	bottom: 0;
	background-image: url('../images/common/bn_bg_bottom.png');
	background-position: center bottom;
}

@media screen and ( max-height: 640px ){
	#tri_area::after{
		bottom: -1;
	}

}

/* === text === */
.tri_area__p{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}

.tri_area__p::before,
.tri_area__p::after{
	content: '';
	display: block;
	width: 28px;
	height: 63px;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.tri_area__p::before{
	background-image: url('../images/common/line_left.svg');
}
.tri_area__p::after{
	background-image: url('../images/common/line_right.svg');
}

.tri_area__p p{
	font-weight: bold;
	line-height: 1.606em;
}

.font_big{
	font-size: 35px;
}
.tri_area__p img{
	padding: 0 8px 0 12px;
	vertical-align: baseline;
}

/* === ul === */
#tri_area ul {
	text-align: center;
	margin-top: 40px;
	font-size: 0;
}

#tri_area ul li{
	display: inline-block;
	margin: 0 14px;
	width: 280px;
}

#tri_area ul li a{
	font-size: 21px;
	font-weight: bold;
	color: #FFF;
	border: 1px solid #fff;
	padding: 1em .5em;
	display: block;
	width: 100%;
	height: 100%;
	line-height: 1;
}
#tri_area ul li a span{
	font-size: 14px;
}

@media screen and (min-width: 769px){
	#tri_area ul li a:hover{/* ポイント時のリンク */
		color: #DCA93C;
		background: #fff;
		opacity: 1;
	}
}

@media screen and ( min-width: 641px ) {
	.tri_area__p{
		-webkit-align-items: center;
		align-items: center;
	}
	.tri_area__p p{
		font-size: 33px;
	}

	.tri_area__p .font_big{
		font-size: 48px;
	}

	.tri_area__p::before,
	.tri_area__p::after{
		width: 37px;
		height: 84px;
	}
	.tri_area__p::before{margin-right: 25px;}
	.tri_area__p::after{margin-left: 25px;}
}

@media screen and ( max-width: 640px ) {
	#tri_area{
		margin-bottom: 25px;
	}
	.tri_area__p{
		-webkit-align-items: flex-end;
		align-items: flex-end;
	}
	#tri_area{
		padding-top: 200px;
		padding-bottom: 50px;
	}
	.tri_area__p .sp_font_samll{
		font-size: 12px;
		display: block;
		margin-bottom: 10px;
	}
	.tri_area__p p{
		font-size: 16px;
		line-height: 1;
	}

	.tri_area__p img{
		height: 17px;
		padding: 0 4px 0 0;
	}

	/* ul */
	#tri_area ul{
		margin-top: 30px;
	}

	#tri_area ul li{
		width: 140px;
		margin-bottom: 20px;
	}

	#tri_area ul li a{
		font-size: 12px;
		padding: .5em;
	}


}


/* -----------------------------------------
 aside banner 体験リポート
----------------------------------------- */
#aside #aside_banner{
	max-width: 900px;
	width: 90%;
	margin: 0 auto 26.5px;
}

#aside #aside_banner a{
	width: 100%;
	height: 100%;
	display: block;
}

@media screen and ( min-width: 641px ){
	#aside #aside_banner{
		margin: 0 auto 115px;
	}
}


/* -----------------------------------------
 aside お知らせ ブログ
----------------------------------------- */
#aside_blog{
	max-width: 900px;
	width: 90%;
	margin: 0 auto 25px;
}

#aside_blog h2{
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	margin-bottom: 14px;
}
@media screen and ( min-width: 640px ){
	#aside_blog{
		margin-bottom: 100px
	}
	#aside_blog h2{
		font-size: 24px;
		margin-bottom: 28px;
	}

}


/* ====== article ===== */
#aside_blog article a{
	display: block;
}

#aside_blog article figure{
	float: left;
}

.aside_blog__txt{
	float: right;
}

.aside_blog__txt__top{
	margin-bottom: 2px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.aside_blog__txt__top h3,
.aside_blog__txt__top p{
	margin-right: 15px;
}

.aside_blog__txt__top h3{
	font-size: 18px;
}
.aside_blog__txt__top p{
	line-height: 1;
}
/* time */
.aside_blog__txt__top time{
	letter-spacing: 0.1em;
}

/* category */
.aside_blog__cat{
	color: #fff;
	padding: .3943em .7em;
}

/* いろはぞれぞれ */
.aside_blog__cat01{ background-color: #82bc3f;}


/* 本文 */
.aside_blog__content{
	font-size: 14px;
	line-height: 2.214em;
}

@media screen and ( max-width: 640px ){
	#aside_blog article figure{
		width: 25%;
	}
	#aside_blog article:not(:last-child){
		margin-bottom: 10px;
	}
	.aside_blog__txt{
		width: 72%;
	}

	.aside_blog__txt__top{
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.aside_blog__content{
		display: none;
	}
	.aside_blog__txt__top time,
	.aside_blog__cat{font-size: 10px;}

	.aside_blog__txt__top h3{
		width: 100%;
		font-size: 14px;
	}
}


@media screen and ( min-width: 641px ){
	#aside_blog article:not(:last-child){
		margin-bottom: 25px;
	}
	#aside_blog article figure{
		width: 16.66%;
	}

	.aside_blog__txt{
		width: 81%;
	}

	.aside_blog__txt__top{
		-webkit-flex-direction: row-reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		-webkit-justify-content: flex-end;
		justify-content: flex-end;
		-webkit-align-items: center;
		align-items: center;
		border-bottom: solid 1px #000;
		padding: 7px 0;
	}

	.aside_blog__txt__top time{ font-size: 14px;}

}







/* -----------------------------------------
 aside 体の歪みや癖を知る
----------------------------------------- */
#aside_banner_bottom{
}

#aside_banner_bottom a{
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('../images/common/aside_bg-01.jpg');
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 35px 5% 50px;
	position: relative;
}

#aside_banner_bottom a img{
	position: relative;
	z-index: 1;
}

#aside_banner_bottom a::after{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    background: rgba(30, 162, 57,.79);
    background: -moz-linear-gradient(left, rgba(133, 186, 31,.79) 0%, rgba(30, 162, 57,.79) 100%);
    background: -webkit-linear-gradient(left, rgba(133, 186, 31,.79) 0%,rgba(30, 162, 57,.79) 100%);
    background: linear-gradient(to right, rgba(133, 186, 31,.79) 0%,rgba(30, 162, 57,.79) 100%);
    z-index: 0;
}

@media screen and ( max-width: 640px ){
	#aside_banner_bottom a{
		padding: 17.5px 9% 24px;
	}

}

/* -----------------------------------------
 insta map
----------------------------------------- */
@media screen and ( min-width: 641px ){
	#instmap{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-flow: column-reverse nowrap;
		-ms-flex-flow: column-reverse nowrap;
		flex-flow: column-reverse nowrap;
	}
}
/* -----------------------------------------
 map
----------------------------------------- */
#map{
	line-height: 1;
	height: 257px;
	height: 315px;
}

@media screen and ( min-width: 641px ){
	#map{
		height: 475px
	}


}



/* -----------------------------------------
 instagram
----------------------------------------- */
#instagram{
	padding: 50px 0;
	text-align: center;
}

#instagram h2{
	margin-bottom: 10px;
}

#instagram h2 span{
	font-size: 28px;
	font-weight: bold;
	line-height: 1;
}

#instagram h2 span::before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 30px;
	height: 30px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	margin-top: -3px;
	background-image: url('../images/common/insta.svg');
	margin-right: 19px;
}

#instagram p{
	font-size: 14px;
}

#instagram ul{
	max-width: 890px;
	width: 80%;
	margin: 35px auto 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: flex-start;
}

#instagram ul li {
	position: relative;
}

#instagram ul li::before {
	content: '';
    display: block;
    padding-top: 100%;
}

#instagram ul li a {
	display: flex;
    justify-content: center;
    align-items: center;
    background: #eee;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#instagram ul li a video {
	max-width: 100%;
    height: auto;
}

@media screen and ( min-width: 641px ){
	#instagram ul li{
		width: 22.4%;
		margin-top: 30px;
	}
	#instagram ul li:not(:nth-of-type(4n)){
		margin-right: 3.4666%;
	}

}


@media screen and ( max-width: 640px ){
	#instagram{
		padding: 33px 0 30px;
	}
	#instagram h2{
		margin-bottom: 7px;
	}
	#instagram h2 span{
		font-size: 20px;
	}
	#instagram h2 span::before{
		width: 21px;
		height: 21px;
		margin-right: 13px;
	}

	#instagram p{
		font-size: 10px;
	}
	#instagram ul{
		margin-top: 5px;
	}
	#instagram ul li{
		width: 46.4%;
		margin-top: 15px;
	}
	#instagram ul li:not(:nth-of-type(2n)){
		margin-right: 3.6%
	}



}





/* -----------------------------------------
 footer
----------------------------------------- */
#footer{
	text-align: center;
	background: #362F3F;
	padding: 100px 0 110px;
	color: #fff;
}

#footer address{
	margin-top: 30px;
}

#footer li{
	font-size: 12px;
	line-height: 1.750em
}

@media screen and ( max-width: 640px ){
	#footer{
		padding: 50px 0 45px;
	}
	#footer div img{
		width: 76px;
	}
	#footer address{
		margin-top: 20px;
	}

}







/* -----------------------------------------
 派生ページ共通
----------------------------------------- */
#pageHead{
	margin-bottom: 92px;
	height: 320px;

}

#pageHead .head_in{
	position: relative;
	height: 100%;
}

#pageHead .head_in h1{
	position: absolute;
	bottom: 0px;
	left: 40px;
	display: block;
}

#main_contents section{
	margin-bottom: 40px;
	position: relative;
}

.sec_head{
	margin-bottom: 80px;
}


#step_box{
	margin-bottom: 0 !important;
	padding: 30px;
}

#step_box .step_ul{
	width: 800px;
	display: table;
	margin: 0 auto;

}

#step_box .step_ul li{
	display: table-cell;
	width: 33%;
	padding: 20px;

}

#step_box .step_ul li dd{
	background: #fff;
	text-align: center;
	color: 	#80B01F;
	padding: 20px;

}

#step_box ul li dd p{
	text-align: center;

     color: #80B01F !important;
}

#step_box ul li dd p .bdb{
	border-bottom: 2px solid #80B01F;
	display: inline-block;
}



#step_box .txt_table{
	width: 520px;
	display: table;
	margin: 0 auto;

}

#step_box .txt_table li:first-child{
	padding: 0 50px;
}

#step_box .txt_table li a{
	margin-top: 10px;
	display: block;
	padding: 20px 80px;
	position: relative;
}

#step_box .txt_table li a:after{
	content: url("../images/common/arrow_left.png");
	position: absolute;
	top: 50%;
	right: 20px;
		  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

#step_box  .line_w span{
	position: relative;
	padding: 0 40px;

}

#step_box .line_w span:after{
	content:url("../images/report/line_w_left.png");
	position: absolute;
	bottom: -15px;
	left: 0;
}

#step_box .line_w span:before{
		content:url("../images/report/line_w_right.png");
	position: absolute;
	bottom: -15px;
	right: 0;
}

#step_box .txt_table li p{
	color: #FFF !important;
}

#step_box p.step_box__p01,
#step_box p.step_box__p02{
	color: #fff !important;
	max-width: 420px;
	width: 100%;
	margin: 0 auto;
	/* line-height: 1; */
}

.step_box__p01{
	font-size: 16px !important;
	font-weight: bold;
	text-align: left !important
}

.step_box__p01 small{
	font-size: 12px !important;
	display: block;
}

.step_box__p02 {
	font-size: 50px !important;
	text-align: center;
	font-weight: bold;
	margin-top: 8px;
	line-height: 1;
}

.step_box__p02 span{
	font-size: 20px !important;
	margin-left: .3em;
}

/* ===== btn ===== */
.step_box__p03{
	max-width: 500px;
	width: 100%;
	margin: 0 auto;
	margin-top: 13px !important;
}
.step_box__p03 a{
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	padding: 0;
	font-size: 30px;
	font-weight: bold;
	margin: 0;
	padding: .535em .3em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.step_box__p03 a::after{
	content: '';
	width: 14px;
	height: 14px;
	display: inline-block;
	vertical-align: middle;
	border-right: solid 2px;
	border-top: solid 2px;
	margin-left: 17px;
	margin-top: -8px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

@media screen and ( max-width: 640px ){
	.step_box__p01{
		text-align: left !important;
	}
	.step_box__p02{
		font-size: 40px;
		text-align: left !important;
	}
	.step_box__p02 span{
		margin-left: .3em;
	}
	.step_box__p03 a{
		font-size: 18px;
	}
	.step_box__p03 a::after{
		margin-top: 0;
		width: 8px;
		height: 8px;
		margin-left: 2px;
		margin-top: -3px;
	}



}



/* レスポンシブ */

	.pc_none{
		display: none;
	}

	.pc_none__w640 {
		display: none;
	}

	.sp_none__w640 {
		display: block;
	}


@media (max-width:768px) {


    .bracket{
		text-indent: -webkit-calc(-50px / 2);
			text-indent: calc(-50px / 2);
	}


	.sp_none{
		display: none !important;
	}
	.pc_none{
		display: block;
	}

	.sp_fz20{
		font-size: 20px;
	}

	.sp_fz14{
		font-size: 14px;
	}


	.sp_w60p{
		width: 60%;
	}

	.sp_w80p{
		width: 80%;
	}

	.sp_w100p{
		width: 100%;
	}

	.sp_mb20{
		margin-bottom: 20px;
	}

	.sp_block{
		display: block;
	}

	.sp_block.mb20{
		margin-bottom: 0;
	}

	.sp_db{
		display: block;
	}

	.sp_mb10{
		margin-bottom: 10px;
	}

	.balloon{
		width: 80%;
		-webkit-background-size: 100%;
		     -o-background-size: 100%;
		        background-size: 100%;
		    height: 60px;
		    line-height: 55px;
	}


	body{
		padding-top: 50px;
	}

	#header #logo{
		height: 60px;
		padding: 10px;
	}

	#logo img{
		width: 130px;
		height: auto;
	}

	#header #header_in{
		height: 50px;
	}

	#menu_btn:after{
		width: 50px;
		height: 50px;
		line-height: 55px;
		content: url(../images/common/btn_close_sp.svg);
	}

	#menu_btn.active:after {
	    content: url(../images/common/btn_open_sp.svg);
	}



	.layout,.layout_thin,.layout_950{
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;
	}

	#pageHead .head_in{
		width: 100%;
	}
	#pageHead .head_in h1{
		bottom: 2px;
		left: 3px;
	}
	#pageHead .head_in h1 img{
		height: 53px;
	}


	.txt_box_short{
		width: 80%;
	}
	#step_box{
		padding: 23px;
	}
	#step_box h4{
		padding-top: 20px;
	}

	#step_box p{
		color: #80B01F !important;
	}


	#step_box .step_ul{
		width: 90%;
		display: block;
	}

	#step_box .step_ul li{
		display: block;
		width: 100%;
		padding: 20px;

	}

	#step_box .txt_table{
		width: 100%;
		display: block;
		text-align: left;
	}

	#step_box li p{
		text-align: left !important;
	}


	#step_box li a{
		text-align: center !important;
	}

	#step_box .txt_table li:first-child{
		padding: 0;
	}

	#main_contents.report .bg_wrap .dl_wrap + .txt{
		width: 100%;
	}

	#step_box .line_w span{
		padding: 0 20px;
	}

	#step_box .link a{
		font-size: 16px !important;
	}

	#pageHead{
		margin-bottom: 22px;
		height: 200px;
	}

	#main_contents{
		position: relative;
		z-index: 200;
	}


	#aside{
		position: relative;
		z-index: 0;
		margin-top: -80px !important;
	}

	.step_ul_sp{
		margin-top: 20px;
	}

	.step_ul_sp li{
		margin-bottom: 10px;
		text-align: center;
	}

}


@media (max-width:640px) {
	#pageHead{
		height: 120px;
	}

	.pc_none__w640 {
		display: block;
	}

	.sp_none__w640 {
		display: none;
	}


}

/* -----------------------------------------
 gradinet
----------------------------------------- */
.gra_yellow {
	background: -moz-linear-gradient(left, #f2c72b 0%, #edab2c 80%,#edab2c 100%);
    background: -webkit-linear-gradient(left, #f2c72b 0%, #edab2c 80%,#edab2c 100%);
    background: linear-gradient(to right, #f2c72b 0%, #edab2c 80%,#edab2c 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2c72b', endColorstr='#edab2c',GradientType=1 );
}

/* -----------------------------------------
 hukidashi
----------------------------------------- */

.hukidashi {
	border-radius: 10px;
	padding: 26px 2em;
	box-sizing: border-box;
	color: #fff;
	position: relative;
	font-weight: bold;
}

.hukidashi:before {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 20px 0 20px;
	border-color: #eeb32c transparent transparent transparent;
}

@media (max-width:768px) {

	.hukidashi {
		font-size: 26px;
	}

}

@media (max-width:640px) {

	.hukidashi {
		font-size: 18px;
		padding: 18px 2em;
	}

}








