@charset "UTF-8";
/* =============================================================================

	style.css

============================================================================= */

a {
	transition: all 0.3s;
}

/*===============================================================
	
	パーティクル
	
===============================================================*/
#particles-js {
}
#particles-js canvas {
  position: fixed;
	top: 0; left: 0; right: 0;
	margin: auto;
  z-index: -1;
}
/*===============================================================
	
	object_fit_img
	
===============================================================*/
.object_fit_img {
}

/*-------------------------------------------------------------
	img_contain	
-------------------------------------------------------------*/
.object_fit_img .img_contain {
	width:100%;
	height:120px;
	object-fit:contain;
	font-family:'object-fit:contain;'
}
.object_fit_img .img_cover {
	width:100%;
	height:120px;
	object-fit:cover;
	font-family:'object-fit:cover;'
}


/*===============================================================
	
	section_sns
	
===============================================================*/
.section_sns {
	background: #eee;
	text-align: center;
}
.section_sns .section_sns_header .title {
	font-size: 35px;
	line-height: 1.4;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.section_sns .section_sns_header .title {
	font-size: 6vw;
	line-height: 1.4;
}

}/* for SP max-width: 800px */


/*===============================================================
	
	sns_box_wap
	
===============================================================*/
.sns_box_wap {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:space-between;
	margin-top: 30px;
}
.sns_box_wap .sns_box_instagram {
	width: 67%;
}
.sns_box_wap .sns_box_twitter {
	width: 31%;
}
.sns_box_wap .sns_box {
	background: rgba(255,255,255,1);
	box-shadow: 0 0 30px 0 rgba(0,0,0,0.1);
	padding: 30px;
	box-sizing: border-box;
}
.sns_box_wap .sns_box .title img {
	width: auto;
	height: 35px;
}
.sns_box .content {
	margin-top: 20px;
}
.sns_box_twitter .content {
  overflow: scroll;
	height: 310px;
}
/* タブレット以下 */
@media screen and (max-width: 1650px) {
.sns_box_wap {
	padding: 0 30px;
}

}/* for tablet max-width: 1070px */
@media screen and (max-width: 1300px) {
.sns_box_wap {
	padding: 0;
}

}/* for tablet max-width: 1070px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.sns_box_wap .sns_box {
	padding: 2.8vw;
}
.sns_box_twitter .content {
	height: 30vw;
}
}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.sns_box_wap {
	margin-top: 5vw;
}
.sns_box_wap .sns_box_instagram,
.sns_box_wap .sns_box_twitter {
	width: 100%;
}
.sns_box_wap .sns_box_twitter {
	margin-top: 5vw;
}
.sns_box_wap .sns_box {
	padding: 3vw;
}
.sns_box_wap .sns_box .title img {
	width: auto;
	height: 8vw;
}
.sns_box .content {
	margin-top: 3vw;
}
.sns_box_twitter .content {
	height: 300px;
}
}/* for SP max-width: 800px */




/*===============================================================
	
	sns_box_instagram
	
===============================================================*/

.sns_box_instagram .morebtn {
  text-align: center;
  margin-top: 20px;
}
.sns_box_instagram .morebtn a {
  color: #999;
  font-size: 14px;
}
.sns_box_instagram .morebtn a:hover {
  color: #333;
  text-decoration: none;
}
.sns_box_instagram .slick_slider {
  padding: 0 0;
}
.sns_box_instagram .slick_slider .fitimg {
}
.sns_box_instagram .slick_slider .fitimg + .fitimg {
  margin-top: 10px;
}
.sns_box_instagram .slick_slider .fitimg a {
	display: block;
	background: #000;
	position: relative;
}
.sns_box_instagram .slick_slider img {
	position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: auto;
	max-width: 100%;
	max-height: 100%;
	border: solid 1px #ddd;
	box-sizing: border-box;
}
.sns_box_instagram .slick-list {
  margin-right: -10px;  /* ガター分ネガティブマージン */
}
.sns_box_instagram .slick-slide {
  margin-right: 10px;  /* ガター */
}
/* タブレット以下 */
@media screen and (max-width: 1200px) {
.sns_box_instagram .slick_slider {
  padding: 0 ;
}
}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

.sns_box_instagram .slick_slider {
  padding: 0;
}
.sns_box_instagram .slick-list {
  /*margin-right: -10px;  /* ガター分ネガティブマージン */
}
.sns_box_instagram .slick-slide {
  /*margin-right: 10px;  /* ガター */
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:space-between;
}
.sns_box_instagram .slick-slide .fitimg {
	width:calc((100% - 10px)/2);
	border: solid 1px #ddd;
	box-sizing: border-box;
}
.sns_box_instagram .slick-slide .fitimg + .fitimg {
	margin-top: 0;
}
.sns_box_instagram .slick-slide .fitimg a {
	width:100%!important;
	height: auto!important;
	min-height: 39vw;
	background: #fff;
}
.sns_box_instagram .slick-slide .fitimg img {
	border: 0;
}
	
	
.sns_box_instagram .morebtn {
  margin-top: 2vw;
}
.sns_box_instagram .morebtn a {
  font-size: 4vw;
}

}/* for SP max-width: 800px */



/*-------------------------------------------------------------
	.slick-prev / .slick-next
-------------------------------------------------------------*/
.sns_box_instagram .slick-prev,
.sns_box_instagram .slick-next {
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	width:40px;
	height:40px;
	z-index:5;
}
.sns_box_instagram .slick-prev {
	left: -25px!important;
  transform: translate(0,0) rotate(-180deg);
}
.sns_box_instagram .slick-next {
	right: -25px!important;
  transform: translate(0,0) rotate(0deg);
}
/* タブレット以下 */
@media screen and (max-width: 1200px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.sns_box_instagram .slick-prev {
	left: -8vw!important;
}
.sns_box_instagram .slick-next {
	right: -8vw!important;
}
}	/* for SP max-width: 800px */


/*-------------------------------------------------------------
	.slick-arrow
-------------------------------------------------------------*/
.sns_box_instagram .slick-arrow {
	display:block;
	width:30px;
	height:30px;
	overflow:hidden;
	margin: auto;
	transition: all 0.2s;
}
.sns_box_instagram .slick-arrow:hover {
	opacity: 0.7;
}
.sns_box_instagram .slick-arrow:before {
	content:'';
	position:absolute;
	top:0!important;bottom:0!important; left:0; right:0; margin:auto;
	border-right:solid 2px #000;
	border-bottom:solid 2px #000;
	width:12px;
	height:12px;
	transform: rotate(-45deg);
	transition: all .3s;
}
.sns_box_instagram .lick-prev:before {
	transform: rotate(135deg);
}
.sns_box_instagram .slick-disabled {
	opacity: 0;
	display: none!important;
}
/* タブレット以下 */
@media screen and (max-width: 1030px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.sns_box_instagram .slick-arrow {
  width:30px;
	height:30px;
	top:0!important;
  bottom:0!important;
}
.sns_box_instagram .slick-arrow:before {
	width:10px;
	height:10px;
}
}	/* for SP max-width: 800px */


/*===============================================================
	
	instagram読み込みloader
	
===============================================================*/
#instagram_loader{
	text-align: center;
	margin-top: 40px;
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
#instagram_loader{
	margin-top: 20px;
}
}	/* for SP max-width: 800px */



/*===============================================================
	
	section_blogheader
	
===============================================================*/
.section_blogheader {
	background: #fa0;
	color: #fff;
	text-align: center;
	position: relative;
	height: 70px;
}
.section_blogheader .title {
	font-size: 35px;
	line-height: 70px;
}
.section_blogheader .title a {
	color: #fff;
}
.section_blogheader .title a:hover {
	color: #fff;
	text-decoration: none;
	opacity: 0.7;
}
.section_blogheader .blog_menu {
	position: absolute;
	top: 13px;
	margin: auto;
	right: 10px;
}
.section_blogheader + .categort_title {
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
	padding: 10px 0;
	border-bottom: dashed 1px #ddd;
	color: #666;
	background: #f0f0f0;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.section_blogheader {
	height: auto;
	padding: 3vw;
}
.section_blogheader .title {
	font-size: 6vw;
	line-height: 1;
}
.section_blogheader .blog_menu {
	position: static;
	margin-top: 3vw;
}
}/* for SP max-width: 800px */

/*-------------------------------------------------------------
	pulldown_menu	
-------------------------------------------------------------*/
.pulldown_menu {
	text-align: left;
}
.pulldown_menu .menu_list {
	display: none;
	position: relative;
	z-index: 10000;
	box-shadow: 0 0 0 0 rgba(0,0,0,0.1);
	transition: all 0.3s;
}
.pulldown_menu .menu_label {
	min-width: 250px;
	border-radius: 3px;
}
.pulldown_menu .menu_label:hover {
	background: #fb0;
	position: relative;
	z-index: 10000;
	box-shadow: 0 0 20px 0 rgba(0,0,0,0.1);
}
.pulldown_menu .menu_label:hover .menu_list {
	display: block;
}
.pulldown_menu a {
	font-size: 16px;
	line-height: 20px;
	display: block;
	color: #fff;
	padding: 10px 20px 10px 10px;
	border: solid 1px rgba(255,255,255,0.5);
	box-sizing: border-box;
	border-radius: 3px;
}
.pulldown_menu a:hover {
	text-decoration: none;
}
.pulldown_menu .menu_list a {
	font-size: 14px;
	line-height: 1.3;
	display: block;
	background: #fff;
	color: #000;
	border:0; 
	border-top: dashed 1px #ccc;
	border-radius: 0px;
}
.pulldown_menu .menu_list a:hover {
	background: #eee;
}


/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

}/* for SP max-width: 800px */


/*-------------------------------------------------------------
	.セレクト 
-------------------------------------------------------------*/
.blog_category_selecter {
	background: #fff;
}
.blog_category_selecter option {
	color: #333;
	background: #fff;
}
.blog_category_selecter optgroup.area {
	color: #333;
	background: #eee;
}
/*	 セレクタの装飾 */
.blog_category_selecter_wrap {
	position: relative;
	overflow: hidden;
	display: inline-block;
	min-width: 15em;
	color: #fff;
	background-color: #fa0;
	border: 1px solid rgba(255,255,255,0.8);
	border-radius: 3px;
	box-sizing: border-box;
	transition: all 0.1s linear;
}
.blog_category_selecter_wrap:hover {
	border: 1px solid rgba(255,255,255,1);
}
.blog_category_selecter {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	z-index: 2;
	display: block;
	width: 200%;
	/* fallback non calc support */
	width: calc(100% + 5em);
	margin: 0;
	padding: 10px;
	font-size: 14px;
	line-height: 1.6;
	background: transparent;
	border: 0;
	outline: none;
	cursor: pointer;
	color: #fff;
}
.blog_category_selecter_wrap:after {
	content: '';
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 5px;
	height: 5px;
	border-top: 4px solid rgba(255,255,255,0.5);
	border-right: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 4px solid transparent;
	box-sizing: border-box;
}
.blog_category_selecter_wrap:before {
	content: '';
	position: absolute;
	top: 10px;
	right: 10px;
	width: 5px;
	height: 5px;
	border-top: 4px solid transparent;
	border-right: 4px solid transparent;
	border-bottom: 4px solid rgba(255,255,255,0.5);
	border-left: 4px solid transparent;
	box-sizing: border-box;
}

/* タブレット以下 */
@media screen and (max-width: 1030px) {
	
}	/* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
/*	 セレクタの装飾 */
.blog_category_selecter_wrap {
	min-width: auto;
	width: 100%;
	padding: 0;
	margin: 0;
}

.blog_category_selecter {
	font-size: 4.5vw;
	padding: 2vw;
}
.blog_category_selecter_wrap:after {
	content: '';
	position: absolute;
	bottom: 2.5vw;
	right: 3vw;
}
.blog_category_selecter_wrap:before {
	content: '';
	position: absolute;
	top: 2.5vw;
	right: 3vw;
}
}	/* for SP max-width: 800px */

/*===============================================================
	
	section_bloglist
	
===============================================================*/
.section_bloglist {
	padding-bottom: 100px;
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.section_bloglist {
	padding-bottom: 5vw;
}
}/* for SP max-width: 800px */

/*===============================================================
	
	blog_item
	
===============================================================*/
.blog_item + .blog_item {
	margin-top: 40px;
}
.section_blog_title .blog_item,
.blog_item a {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items: center;
	color: #000;
}

.blog_item a:hover {
	color: #000;
	text-decoration: none;
	transform: scale(1.03,1.03);
	/*opacity: 0.7;*/
}
.blog_item .thumb {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
}
.blog_item .txt {
	width: calc(100% - 140px);
}
.blog_item .txt .date,
.blog_item .txt .category {
	display: inline-block;
	font-size: 18px;
	line-height: 1.2;
	font-weight: normal;
}
.blog_item .txt .category {
	color: #fa0;
	margin-left: 10px;
	font-weight: bold;
}
.blog_item .txt .title {
	font-size: 30px;
	line-height: 1.3;
  white-space: nowrap;
  width: 100%;
  overflow: hidden;
  text-overflow:ellipsis;
}

/*
https://developer.mozilla.org/ja/docs/Web/CSS/text-overflow
*/

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {

.blog_item + .blog_item {
	margin-top: 6vw;
}
.blog_item .thumb {
	width: 14vw;
	height: 14vw;
}
.blog_item .txt {
	width: calc(100% - 16vw);
}
.blog_item .txt .date,
.blog_item .txt .category {
	font-size: 3.2vw;
}
.blog_item .txt .category {
	margin-left: 1vw;
}
.blog_item .txt .title {
	font-size: 4.5vw;
	margin-top: 0;
}
}/* for SP max-width: 800px */

/*===============================================================
	
	section_blog_title
	
===============================================================*/
.section_blog_title {
	background: #eee;
	border-bottom: dashed 1px #ddd;
}
.section_blog_title .wide_width_max {
	background: #eee;
	position: relative;
}
.section_blog_title .blog_item .txt .title {
  white-space: inherit;
  width: 100%;
  overflow: visible;
  text-overflow:inherit;
	margin-top: 10px;
}
.section_blog_title .blog_item .category a {
	color: #fa0;
}
.section_blog_title .blog_item .category a:hover {
	color: #fc0;
	transform: scale(1,1);
}

/* タブレット以下 */
@media screen and (max-width: 1300px) {
.section_blog_title {
	padding: 0 20px;
}
}/* for tablet max-width: 1070px */

/* タブレット以下 */
@media screen and (max-width: 1070px) {
.section_blog_title {
	padding: 0;
}
}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.section_blog_title .section_inner {
	padding: 0;
}
.section_blog_title .blog_item {
	padding: 10px 20px;
}
.section_blog_title .blog_item .txt .title {
	margin-top: 0vw;
}
}/* for SP max-width: 800px */


/*===============================================================
	
	blog_pager
	
===============================================================*/
.blog_pager .pager {
	position: absolute;
	width: 50px;
	height: 50px;
	top: 0; bottom: 0;
	margin: auto;
}
.blog_pager .prev {
	left: 0;
}
.blog_pager .next {
	right: 0;
}
.blog_pager .pager a {
	display: block;
	width: 50px;
	height: 50px;
	background: #fa0;
	border-radius: 50%;
	position: relative;
	color: #fff;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
}
.section_blog_title .blog_pager .pager a {
	background: #fff;
}
.blog_pager .pager a:hover {
	opacity: 0.7;
}
.blog_pager .pager a::after {
	content:'';
	position:absolute;
	top: 0; bottom: 0; left: 0; right: 0;
	margin: auto;
	border:solid 1px #fff;
	width:8px;
	height:8px;
	border-top:none;
	border-left:none;
	transform: rotate(-45deg) translate(-1px,-1px);
	transition: all 0.3s;
}
.section_blog_title .blog_pager .pager a::after {
	border-color:#000;
}
.blog_pager .prev a::after {
	transform: rotate(135deg) translate(-1px,-1px);
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.blog_pager {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:space-between;
}
.blog_pager .pager {
	position: static;
	width: 50%;
	height: auto;
}
.section_blog_title .blog_pager .pager a,
.blog_pager .pager a {
	width: 100%;
	height: auto;
	background: #ff0;
	border-radius: 0;
	color: #000;
	overflow: visible;
	white-space: inherit;
	text-indent: 0;
	font-size: 3.5vw;
	line-height: 1;
	padding: 3vw 6vw;
	box-sizing: border-box;
}
.blog_pager .pager a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.section_blog_title .blog_pager .pager a::after,
.blog_pager .pager a::after {
	border-color:  #000;
	width:6px;
	height:6px;
}
.blog_pager .prev a {
	text-align: left;
}
.blog_pager .prev a::after {
	left: 2vw; right: auto;
}
.blog_pager .next a {
	text-align: right;
}
.blog_pager .next a::after {
	left: auto; right: 2vw;
}
}/* for SP max-width: 800px */

/*===============================================================
	
	ブログ記事
	
===============================================================*/
.post-content {
}
.post-content * {
	margin-bottom: 1em;
}
.post-content h3 {
	font-size: 25px;
	line-height: 1.6;
}
.post-content h4 {
	font-size: 20px;
	line-height: 1.6;
}
.post-content p {
	font-size: 16px;
	line-height: 1.8;
}
.post-content em strong {
	font-style :italic;
}
.post-content img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	text-align: center;
	display: block;
}


/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.post-content * {
	margin-bottom: 1em;
}
.post-content h3 {
	font-size: 6vw;
	line-height: 1.6;
}
.post-content h4 {
	font-size: 5vw;
	line-height: 1.6;
}
.post-content p {
	font-size: 4vw;
	line-height: 1.8;
}


}/* for SP max-width: 800px */

/*===============================================================
	
	section_blog_footer
	
===============================================================*/
.section_blog_footer {
	padding-bottom: 100px;
}
.section_blog_footer .content {
	position: relative;
}
/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.section_blog_footer {
	padding-bottom: 0;
}
.section_blog_footer .blog_pager {
	margin-top: 8vw;
}
}/* for SP max-width: 800px */

/*===============================================================
	
	social_btns
	
===============================================================*/
.social_btns {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
}
.social_btns li {
	padding: 0 10px;
}
.social_btns li a {
	white-space: normal;
	overflow: hidden;
	text-indent: 100%;
	display: block;
	background-image: url("/creative/common/images/app/icon_circle_facebook.svg");
	background-size: 100% auto;
	background-repeat: no-repeat;
	width: 50px;
	height: 50px;
}
.social_btns li a:hover {
	transform: scale(1.1,1.1);
}
.social_btns li.facebook a {
	background-image: url("/creative/common/images/app/icon_circle_facebook.svg");
}
.social_btns li.twitter a {
	background-image: url("/creative/common/images/app/icon_circle_twitter.svg");
}
.social_btns li.line a {
	background-image: url("/creative/common/images/app/icon_circle_line.svg");
}


/* タブレット以下 */
@media screen and (max-width: 1070px) {

}/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.social_btns li {
	padding: 0 10px;
}
.social_btns li a {
	width: 40px;
	height: 40px;
}
}/* for SP max-width: 800px */

/*===============================================================
	
	pager_num：数字のページング
	
===============================================================*/
.pager_num {
	position: relative;
}
.pager_num ul {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
	align-items: center;
}
.pager_num ul li {
	margin: 0 5px;
	width: 50px;
	height: 50px;
	text-align: center;
	font-weight:bold;
	font-size:16px;
	line-height:50px;
	color: #fa0;
}
.pager_num li a {
	display:block;
	margin:0 auto;
	text-decoration:none;
	color:#fff;
	background:#fa0;
	border-radius: 50%;
	box-sizing: border-box;
}
.pager_num li a:hover {
	background:#fc0;
}
.pager_num li.current {
	background:#fff;
	color:#000;
}
.pager_num ul li .prev,
.pager_num ul li .next {
	position: relative;
	white-space: nowrap;
	overflow: hidden;
	text-indent: 100%;
}
.pager_num ul li .prev::after,
.pager_num ul li .next::after {
	content:'';
	position:absolute;
	top: 0; bottom: 0; left: 0; right: 0;
	margin: auto;
	border:solid 1px #fff;
	width:8px;
	height:8px;
	border-top:none;
	border-left:none;
	transform: rotate(-45deg) translate(-1px,-1px);
	transition: all 0.3s;
}
.pager_num ul li .prev::after {
	transform: rotate(135deg) translate(-1px,-1px);
}

/* タブレット以下 */
@media screen and (max-width: 1070px) {

}	/* for tablet max-width: 1070px */

/* SP向けレイアウトの指定：～800px */
@media only screen and (max-width: 800px) {
.pager_num {
	padding: 0 3vw;
	padding-bottom: 8vw;
}
.pager_num ul li {
	margin: 0 1vw;
	width: 12vw;
	height: 12vw;
	font-size:3.5vw;
	line-height:12vw;
	margin-top: 2vw;
}
}	/* for SP max-width: 800px */


