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

body {
	font-size: var(--site_font_size_pc);
  line-height: var(--site_line_height);
	color: var(--site_font_color);
	background-color: var(--site_bg_color);
	font-family: var(--site_font_family);
}
body {
  -webkit-text-size-adjust: 100%;
	font-weight: 400;
	min-width: 1220px;
}
a,a:visited{
	text-decoration: none;
	color: var(--site_font_color);
}
a:hover{
	color: var(--site_font_color);
	text-decoration: underline;
	cursor: pointer;
}
a.tel {
	display:inline-block!important;
	padding: 0!important;
	font-size: 1em!important;
    letter-spacing: 0!important;
    font-weight: normal!important;
}

/*ヘッダー*/

header {
	background: #fff;
	position: fixed;
  top: 0;
  right: 0px;
  width: 100%;
	min-width: 1080px;
  z-index: 999;
}
header .wrap {
	width: 100%;
	padding: 30px 40px 23px;
}
header .header_inner {
	display:flex;
	justify-content: space-between;
	position: relative;
}
header .left {

}
header .logo {
	width: 322px;
}
header .left p {
	font-size: 1rem;
	line-height: 1;
	margin: 0 0 20px;
}
header .right {
  width: auto;
}
header .right .btns {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 26px;
}
header .right .tel {
	text-align: center;
	padding: 0 10px;
}
header .right .tel .num {
	font-size: 3rem;
	font-family: var(--font_3);
	letter-spacing: 0.03em;
	line-height: 1;
	margin: -5px 0 6px;
}
header .right .tel .time {
	font-size: 1.2rem;
	line-height: 1;
}
header .right .t_btn {
	margin-left: 10px;
}

.sp_menu {
	display: none;
}

/* MENU */
header .main_menu {
	text-align:right;
}
header #menu-main-menu {
	width: 497px;
	display: flex;
	align-items: center;
	justify-content:space-between;
	margin-left: auto;
}
header #menu-main-menu > li {
	font-size: 1.4rem;
	line-height: 1;
	position: relative;
	font-family: var(--font_3);
	font-weight: 500;
	letter-spacing: 0.1em;
}
header #menu-main-menu > li a {
	color: var(--site_font_color);
	transition-duration: 0s;
	display: inline-block;
	text-align:center;
	position: relative;
}
header #menu-main-menu > li a:before {
    z-index: 1;
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    background-color: #111;
    content: "";
    transition: all .25s cubic-bezier(.19,1,.22,1);
    transition-timing-function: cubic-bezier(.19,1,.22,1);
}
header #menu-main-menu > li a:hover {
	  color: var(--site_font_color);
	  text-decoration: none;
	  opacity: 1;
}
header #menu-main-menu > li a:hover::before {
    transform: scaleX(1);
}
header #menu-main-menu > li a:hover {
	color: var(--site_font_color);
}
header .menu_bg {
	display:none;
}


/*フッター*/

footer {
	width: 100%;
	background: var(--site_color_3);
	position: relative;
	padding: 100px 0 25px;
}
footer .wrap {
	padding-bottom: 63px;
}
footer .left {
	width: 434px;
}
footer .left .logo {
	width: 330px;
	margin-bottom: 13px;
}
footer .left p.add {
	margin: 0 0 20px;
}
footer .right {
	width: 550px;
	display: flex;
	justify-content: space-between;
}
footer .right ul {
	width: auto;
	max-width: calc(100% / 3);
	margin-top: -5px;
}
footer .right ul li {
	margin-bottom: 17px;
}
footer .copy {
	font-size: 1.2rem;
	line-height: 1;
	text-align: center;
}

/* ----------------------------------------
* pagetop
---------------------------------------- */
#totop {
  opacity: 0;
  position: fixed;
  right: 20px;
	bottom: -100px;
	width: 60px;
  transition-duration: 1s;
	z-index: 10;
}
#totop.active {
  opacity: 1;
  bottom: 20px;
}
#totop.last {
	/* position: absolute;
  bottom: 100%; */
}

/* ----------------------------------------
* パンクズ
---------------------------------------- */
#contents .pankuzu {
	background: #fff;
	text-align: left;
	padding: 24px 0 25px;
}
.pankuzu li {
  display: inline-block;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin-right: 0.5rem;
}
.pankuzu .fa {
  display: none;
}
.pankuzu span:before {
  margin: 0 10px;
}
.pankuzu a {
  text-decoration: none;
  color: var(--site_color_1);
}
.breadcrumb-area a:hover {
  text-decoration: underline;
}

/* ----------------------------------------
* ページ共有
---------------------------------------- */
#contents {
	padding-top: 0;
}
.wrap {
  width:1220px;
	padding: 0 40px;
	margin: 0 auto;
}
/*--button--*/
.btn a {
	background: #111 url(../img/common/btn_arrow_w_right.png) no-repeat right 20px center;
	color: #fff;
	font-weight: 400;
	display: inline-block;
	width: 250px;
	height: 50px;
	border: solid 1px #111;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
	position: relative;
	z-index: 99;
	letter-spacing: 0.1em;
	padding-top: 1px;
}
.btn a:hover {
	text-decoration: none;
	color: var(--site_font_color);
}
.btn a:before {
  position: absolute;
  top: 0;
  left: 0;
	z-index: -1;
  width: 0%;
  height: 100%;
  background-color: #fff;
  content: "";
  transition-duration: .3s;
}
.btn a:hover::before {
	width: 100%;
}
.btn a:after {
	content:'';
	background: url(../img/common/btn_arrow_b_right.png) no-repeat right 20px center;
	position:absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition-delay: .2s;
}
.btn a:hover::after {
	opacity: 1;
	transition-delay: 0;
}

.about_covid {
	background: var(--site_color_1);
}
.about_covid .covid_btn {
	text-align: center;
	padding: 33px 0;
}
.about_covid .covid_btn a {
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.4em;
	display: inline-block;
	position: relative;
	margin-left: -20px;
}
.about_covid .covid_btn a:after {
	content: url(../img/common/btn_arrow_l_w_right.png);
	position: absolute;
	top: 1px;
	right: -40px;
}

#page_contact_area {
	background: url(../img/common/page_contact_area_bg_pc.jpg)no-repeat center center;
	background-size: cover;
	padding: 100px 0;
}
#page_contact_area h2.top_h2 {
	color: #fff;
}
#page_contact_area li {
	width: 354px;
	background: #fff;
	text-align: center;
	padding: 40px 0;
}
#page_contact_area li .icon {
 margin-bottom: 26px;
}
#page_contact_area li .btn a {
	width: 274px;
	height: 50px;
}
#page_contact_area li .tel {
	text-align: center;
	padding: 0 10px;
}
#page_contact_area li .tel .num {
	font-size: 3.8rem;
	font-family: var(--font_3);
	letter-spacing: 0.03em;
	line-height: 1;
	margin: -5px 0 6px;
}
#page_contact_area li .tel .time {
	font-size: 1.2rem;
	line-height: 1;
}

#page_mv {
  width: 100%;
}
#page_mv h1 {
	color: var(--site_font_color);
	font-size: 4.5rem;
	font-family: var(--font_3);
	font-weight: 500;
	letter-spacing: 0.1em;
	margin: 0;
	text-align: center;
	line-height: 1;
	padding: 100px 0 100px;
}
#page_mv h1 span.sub {
	font-family: var(--font_2);
	font-size: 1.2rem;
	line-height: 1;
	display:block;
	margin-top: 18px;
}
#page_mv .mv {
	width: 100%;
	height: 400px;
}
#page_mv .company_mv {
	background: url(../img/company/mv_pc.jpg)no-repeat center center;
	background-size: cover;
}
#page_mv .service_mv {
	background: url(../img/service/mv_pc.jpg)no-repeat center center;
	background-size: cover;
}
#page_mv .works_mv {
	background: url(../img/works/mv_pc.jpg)no-repeat center center;
	background-size: cover;
}
#page_mv .flow_mv {
	background: url(../img/flow/mv_pc.jpg)no-repeat center center;
	background-size: cover;
}
#page_mv .blog_mv {
	background: url(../img/blog/mv_pc.jpg)no-repeat center center;
	background-size: cover;
}
#page_mv .privacy_mv {
	background: url(../img/privacy/mv_pc.jpg)no-repeat center center;
	background-size: cover;
}
#page_mv .contact_mv {
	background: url(../img/contact/mv_pc.jpg)no-repeat center center;
	background-size: cover;
}
#page_mv .sitemap_mv {
	background: url(../img/sitemap/mv_pc.jpg)no-repeat center center;
	background-size: cover;
}

section h2.top_h2 {
	color: var(--site_font_color);
	font-size: 4.5rem;
	font-family: var(--font_3);
	font-weight: 500;
	letter-spacing: 0.1em;
	margin: 0 auto 60px;
	text-align: center;
	line-height: 1;
}
section h2.top_h2.home_h2 {
	font-size: 4.5rem;
}
section h2 .sub {
  display: block;
	font-size: 1.2rem;
	font-family: var(--font_2);
  font-weight: normal;
	margin-top: 18px;
}

section h2.b_bg {
  background: #1b2a6b;
  color: #fff;
  font-size: 1.5714em;
  font-weight: bold;
  line-height: 5.5rem;
  margin-bottom: 6rem;
	text-align: center;
}

/*--top--*/
#top_mv {
	background: #fff;
	display:flex;
	justify-content: space-between;
}
#top_mv img {
	min-width: 100%;
}
#top_mv .slide_box {
	position: relative;
}
#top_mv .slide_box:after {
	content: '';
	display:block;
	clear:both;
}
#top_mv .slide_box .cover {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
}
#top_mv .blocks {
	display: flex;
	flex-wrap: wrap;
	align-content:space-between;
}
#top_mv .blocks1,
#top_mv .blocks2 {
	width: 36.666%;
}
#top_mv .blocks3 {
	width: 26%;
}
#top_mv .block {
	width: 100%;
}
#top_mv .blocks1 .block1,
#top_mv .blocks2 .block1,
#top_mv .blocks2 .block2,
#top_mv .blocks3 .block1 {
	margin-bottom: 5px;
}
#top_mv .blocks1 .block2 .slide_box {
	width: 49.454545%;
}
#top_mv .blocks2 .color {
	width: 27.272727%;
}
#top_mv .blocks2 .block1 .slide_box,
#top_mv .blocks2 .logo {
	width: 71.818181%;
}
#top_mv .blocks3 .block1 .slide_box {
	width: 49.4872%;
}

#top_about {
  padding: 75px 0 86px;
}
#top_about .area1 {
  margin-bottom: 80px;
}
#top_about .area1 .img {
	width: 388px;
}
#top_about .area1 .text {
  width: 710px;
	margin-top: -14px;
}
#top_about .area1 .text h3 {
	font-family: var(--font_3);
	font-size: 2.8rem;
	font-weight: normal;
	line-height: 2;
	margin-bottom: 29px;
	display:block;
}
#top_about .area1 .text p {
	font-size: 1em;
	line-height: 3;
}
#top_about .area2 {
  margin-bottom: 80px;
}
#top_about .area2 .box {
	width: 354px;
}
#top_about .area3 {
}
#top_about .area3 .img {
	width: 550px;
}
#top_about .area3 .text {
  width: 550px;
	margin-top: -7px;
}
#top_about .area3 .text p {
	margin-bottom: 53px;
}

#top_service {
	background: var(--site_color_3);
	padding: 100px 0;
}
#top_service h2.top_h2 {
	margin-bottom: 0;
}
#top_service #shop {
	margin-bottom: 110px;
}
#top_service #interior {
	margin-bottom: 130px;
}
#top_service #demolish {
	margin-bottom: 130px;
}
#top_service .block {
	background: #fff;
	position: relative;
}
#top_service .block.m0 {
	margin-bottom: 0;
}
#top_service .block .ttl {
	position: absolute;
	right: 0;
	top: -50px;
}
#top_service .row_reverse.block .ttl {
	position: absolute;
	left: 0;
	right: auto;
	top: -50px;
}
#top_service .row .text {
	width: 520px;
	padding: 0 60px;
	display: flex;
	align-items: center;
}
#top_service .row .text .box {
	text-align: center;
}
#top_service h3 {
	font-family: var(--font_3);
	margin-bottom: 33px;
	display:block;
	text-align: center;
}
#top_service h3 span.main {
	font-size: 3.4rem;
	line-height: 1.5;
	letter-spacing: 0.15em;
	margin-bottom: 25px;
	display:block;
	font-weight: 500;
}
#top_service .row .text p {
	text-align: left;
	margin-bottom: 0;
}
#top_service .btn a {
	margin: 53px auto 0;
}
#top_service .row .img {
	width: 620px;
	height: 550px;
	position: relative;
}
#top_service .row .img img {
	position: absolute;
	top: -50px;
	right: 0;
	max-width: 800px;
}
#top_service .row_reverse .img img {
	right: none;
	left: 0;
}
#top_service .row .boxes {
	width: 100%;
	padding: 0 60px 30px;
	margin-top: -10px;
}
#top_service .row .boxes .img_s {
	margin-bottom: 30px;
}
#top_service p.desc {
	font-family: var(--font_3);
	font-size: 2.8rem;
	text-align: center;
	padding: 66px 0;
}
#top_service .area2 {
	padding: 72px 80px 40px;
}
#top_service .area2 .boxes {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#top_service .area2 h3 {
	font-family: var(--font_3);
	margin-bottom: 60px;
}
#top_service .area2 .box {
	width: 165px;
  text-align: center;
	margin-bottom: 38px;
}
#top_service .area2 .box .img {
}
#top_service .area2 .box p {
	font-size: 1.8rem;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin: 13px auto 0;
}

#top_work {
  padding: 100px 0;
}
#top_work .swiper_work {
	margin-bottom: 100px;
}
#top_work p.ttl {
	background: url(../img/common/solid_line_beside.png) repeat-x center;
	text-align: center;
	line-height: 1;
	margin-bottom: 50px;
}
#top_work p.ttl span {
	background: #fff;
	display: inline-block;
	font-size: 2.4rem;
	font-family: var(--font_3);
	margin: auto;
	padding: 0 20px;
	letter-spacing: 0.4em;
}
#top_work .row {
	justify-content: flex-start;
}
#top_work .row .box {
	width: 354px;
	margin: 0 39px 53px 0;
}
#top_work .row .box:nth-child(3n) {
	margin-right: 0;
}
#top_work .row .box p {
	font-size: 1.4rem;
	text-align: center;
	margin-top: 23px;
}
#top_blog {
	background: var(--site_color_3);
	padding: 100px 0;
}
#top_blog .row .box {
	width: 354px;
	margin-bottom: 41px;
}
#top_blog .meta {
	padding: 20px 0 10px;
}
#top_blog .cat_icon a {
	background: var(--site_color_2);
	display: inline-block;
	color: #fff;
	line-height: 1.2;
	padding: 4px 5px 2px;
	margin: 0 5px 5px 0;
}
#top_blog .cat_icon a:hover {
	text-decoration: none;
	opacity: 0.75;
}
#top_blog p.ttl {
	margin-bottom: 6px;
}


#top_page_link {
	padding: 100px 0;
}
#top_page_link .box {
	width: 550px;
	padding: 240px 60px 0;
}
#top_page_link .box.company {
	background: url(../img/top/company_bg_pc.jpg)no-repeat top center;
	background-size: 100%;
}
#top_page_link .box.flow {
	background: url(../img/top/flow_bg_pc.jpg)no-repeat top center;
	background-size: 100%;
}
#top_page_link .box .text {
	background: #fff;
	padding: 33px 0 0;
}
#top_page_link .box .text h2.top_h2 {
	font-size: 4rem;
	margin-bottom: 40px;
}

/* Kracieのしごと */

#work_aisatsu {
  padding: 16px 0 86px;
}
#work_aisatsu p {
	font-family: var(--font_3);
	font-size: 2.6rem;
	line-height: 2.2;
	text-align: center;
}

#work_first {
  background: url(../img/work/first_bg.png) repeat-x left top;
	padding: 100px 0;
}
#work_first .box {
  width: 550px;
}
#work_first h3 {
	font-family: var(--font_3);
	height: 115px;
	text-align: center;
	display:block;
}
#work_first h3 span.main {
	font-size: 3.8rem;
	line-height: 1;
	letter-spacing: 0.4em;
	margin-bottom: 20px;
	display:block;
	font-weight: 500;
}
#work_first h3 span.sub {
	font-size: 2rem;
	line-height: 1;
	letter-spacing: 0.4em;
	font-weight: 500;
}
#work_first .img {
  position: relative;
}
#work_first .img span {
  position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,50%);
}

.work_ttl {
  margin-bottom: 100px;
}
#housing .ttl_main {
	background: url(../img/work/housing_ttl_bg_pc.jpg)no-repeat center center;
  background-size: cover;
}
#store .ttl_main {
	background: url(../img/work/store_ttl_bg_pc.jpg)no-repeat center center;
  background-size: cover;
}
.work_ttl .ttl_main {
	width: 100%;
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.work_ttl p.desc {
  line-height: 3;
	padding: 46px 0;
	text-align: center;
}

.work_area {
	background: var(--site_color_3);
	padding: 100px 0;
	margin-bottom: 200px;
}
.work_area.housing.area2 {
    background: url(../img/top/first_bg_right_pc.png) repeat-y center top;
}
.work_area.housing.area3, .work_area.store.area2 {
	margin-bottom: 0;
}
.work_head_area {
	width: 1220px;
  padding: 0 40px;
  margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.work_head_area .text {
	width: 480px;
}
.work_head_area .text .box {
	text-align: left;
}
.work_head_area .text h2 {
	line-height: 1.5;
	letter-spacing: 0.4em;
	margin-bottom: 26px;
	text-align: right;
}
.work_head_area .text p {
}
.work_head_area .img {
	width: 660px;
	height: 330px;
	position: relative;
}
.work_head_area .img img {
	position: absolute;
	top: -200px;
	right: 0;
	max-width: 850px;
}
.work_head_area.row_reverse .img img {
	right: auto;
	left: 0;
}
.work_head_area.row_reverse .text h2 {
	text-align: left;
}

.work_area .wrap {
	background: #fff;
	width: 1140px;
	padding: 50px 0;
}

.housing.area1 .row {
	padding: 50px 0;
	align-items: center;
}
.housing.area1 .row .img {
  width: 490px;
}
.housing.area1 .row .text {
  width: 650px;
	padding: 0 40px 0 60px;
}
.housing.area1 .row .text h3 {
	font-size: 3rem;
	font-family: var(--font_3);
	line-height: 1.5;
	letter-spacing: 0.4em;
	margin-bottom: 26px;
	text-align: left;
	font-weight: 500;
}
.housing.area1 .row .text p {
	padding-right: 20px;
}

.housing.area3 {}
.housing.area3 .row {
	padding: 50px 0;
}
.housing.area3 .wrap .row .img {
	width: 490px;
}
.housing.area3 .wrap .row .text {
	width: 650px;
}
.housing.area3 .wrap .row .text .num_ttl {
	padding: 20px 60px 33px 0;
}
.housing.area3 .wrap .row_reverse .text .num_ttl{
	padding: 20px 0 33px 60px;
}
.housing.area3 .wrap .row .text .box {
	padding: 0 60px;
}
.housing.area3 .wrap .row .text h3 {
	font-size: 3rem;
	font-family: var(--font_3);
	line-height: 1.5;
	letter-spacing: 0.4em;
	margin-bottom: 26px;
	text-align: left;
	font-weight: 500;
}
.housing.area3 .wrap .row .text .icons {
	display: flex;
	justify-content: space-between;
	padding: 23px 0;
}

.store.area1 .wrap .row {
	padding: 50px 0 60px;
}
.store.area1 .wrap .row .img {
	width: 800px;
}
.store.area1 .wrap .row .text {
	width: 340px;
	position: relative;
}
.store.area1 .wrap .row .text .box {
	width: 550px;
	padding-right: 60px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.store.area1 .wrap .row_reverse .text .box {
	width: 550px;
	padding-left: 60px;
	position: absolute;
	top: 50%;
	right: auto;
	left: 0;
	transform: translateY(-50%);
}
.store.area1 .wrap .row .text h3 {
  text-align: right;
	margin-bottom: 0;
}
.store.area1 .wrap .row_reverse .text h3 {
  text-align: left;
	margin-bottom: 0;
}
.store.area1 .wrap .row .text h3 .main {
	display: block;
	font-size: 3rem;
	font-family: var(--font_3);
	line-height: 1;
	letter-spacing: 0.4em;
	font-weight: 500;
}
.store.area1 .wrap .row .text h3 .sub {
	display: block;
	font-size: 1.4rem;
	font-family: var(--font_3);
	line-height: 1;
	margin-bottom: 40px;
	font-weight: normal;
	letter-spacing: 0.1em;
}
.store.area1 .wrap .row .text p {
	background: #fff;
	padding: 33px 0 33px 40px;
}
.store.area1 .wrap .row_reverse .text p {
	background: #fff;
	padding: 33px 40px 33px 0;
}
.store.area1 .imgs {
	padding: 0 60px 20px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.store.area1 .imgs .img {
	width: 495px;
	margin-bottom: 30px;
}

.store.area2 .row {
	padding: 50px 0 0;
	align-items: center;
}
.store.area2 .row:last-child {
	padding: 50px 0;
}
.store.area2 .row .img {
  width: 490px;
}
.store.area2 .row .text {
  width: 650px;
	padding: 0 40px 0 60px;
}
.store.area2 .row .text h3 {
	font-size: 3rem;
	font-family: var(--font_3);
	line-height: 1.5;
	letter-spacing: 0.4em;
	margin-bottom: 26px;
	text-align: left;
	font-weight: 500;
}
.store.area2 .row .text p {
	padding-right: 20px;
}

.store.area2 .jitsurei {
	padding: 0 0 30px;
}
.store.area2 .jitsurei h3 {
	font-size: 3rem;
	font-family: var(--font_3);
	line-height: 1.5;
	letter-spacing: 0.4em;
	margin-bottom: 42px;
	text-align: center;
	font-weight: 500;
}
.store.area2 .jitsurei .boxes {
	padding: 0 60px 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.store.area2 .jitsurei .box {
	width: 495px;
	margin-bottom: 56px;
}
.store.area2 .jitsurei .box p {
	text-align: center;
	line-height: 1.5;
	margin-top: 12px;
}

/* 当社の感染症対策について */
#flow_first {
	background: var(--site_color_3);
	padding: 100px 0 40px;
}
#flow_first .flow_list > li {
	background: url(../img/common/solid_line_vertical.png)repeat-y bottom left 28px;
	position: relative;
	padding: 0 0 56px 83px;

}
#flow_first .flow_list > li:last-child {
	background: url();
}
#flow_first .flow_list > li li {
	padding-left: 1em;
	position: relative;
	line-height: 2;
}
#flow_first .flow_list > li li:before {
	content: '●';
	font-size: 1rem;
	position:absolute;
	top: 0.5em;
    left: 2px;
}
#flow_first .num {
	color: #fff;
	font-family: var(--font_3);
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	background: var(--site_color_1);
	width: 55px;
	height: 55px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
}
#flow_first h6 {
	font-size: 2.8rem;
	font-family: var(--font_3);
	font-weight: 500;
	line-height: 1.5;
	padding-top: 7px;
	margin-bottom: 15px;
}
#flow_first p {
	font-size: 1.4rem;
	font-weight: normal;
	margin-bottom: 0;
}
#flow_first .t_num {
	background: var(--site_color_1);
	color: #fff;
	font-weight: bold;
	display: inline-block;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	position: relative;
	transform: translateY(5px);
}
#flow_first .t_num span {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
#flow_second {
	padding: 100px 0 110px;
}
#flow_second p.desc {
	text-align: center;
	margin-bottom: 103px;
}
#flow_second .area {
	background: var(--site_color_3);
	padding: 60px 60px 53px;
	position: relative;
	z-index: 1;
	margin-bottom: 130px;
}
#flow_second .area:last-child {
	margin-bottom: 0;
}
#flow_second .area .img {
	width: 440px;
	height: 257px;
	position: relative;
}
#flow_second .area .img img {
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: 550px;
}
#flow_second .area .text {
	width: 100%;
	padding-top: 53px;
}
#flow_second .area2 .text {
	width: 440px;
}
#flow_second .area .text h3 {
  font-size: 3rem;
  font-family: var(--font_3);
  font-weight: 500;
  letter-spacing: 0.15em;
  margin: 0 auto 16px;
  line-height: 1.5;
}
#flow_second .area .boxes {
	width: 520px;
	flex-wrap: wrap;
	position: absolute;
	top: 60px;
	right: 60px;
}
#flow_second .area .boxes .box {
	margin-bottom: 30px;
}

#flow_third {
	background: var(--site_color_3);
	padding: 100px 0 95px;
}
#flow_third h2 {
	margin-bottom: 53px;
}
#flow_third p.desc {
	text-align: center;
}
#flow_third .boxes {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 53px;
}
#flow_third .box {
	text-align: center;
}
#flow_third .box .img {
	margin-bottom: 25px;
}
#flow_third .box p {
	font-family: var(--font_3);
	font-size: 1.8rem;
	line-height: 1.5;
}

#flow_fourth {
	padding: 100px 0;
}
#flow_fourth .img {
  width: 570px;
}
#flow_fourth .text {
	width: 510px;
}
#flow_fourth .text ul {}
#flow_fourth .text li {
	font-size: 1.6rem;
	line-height: 1.7;
	margin-bottom: 22px;
	padding-left: 20px;
	position: relative;
}
#flow_fourth .text li:before {
	content: '';
	background: var(--site_color_1);
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	position: absolute;
	top: 9px;
	left: 0;
}
#flow_fourth .text p.caution {
	padding-left: 20px;
	position: relative;
	letter-spacing: 0;
}
#flow_fourth .text p.caution:before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

 /* テーブル */
table.page_table {
	width: 900px;
	margin: 0 auto;
}
table.page_table tr {
	background: url(../img/common/dotted_line_beside.png) no-repeat top left;
	line-height: 2;
}
table.page_table th {
	padding: 33px 0 33px 110px;
	width: 280px;
	font-weight: bold;
	text-align: left;
}
table.page_table td {
	padding: 33px 0;
}

/* COMPANY */

#company_first {
  background: var(--site_color_3);
	padding: 100px 0;
}
#company_first p.desc {
	text-align: center;
	line-height: 3;
	margin: -1em auto 26px;
}
#company_first .img_l {
	width: 100%;
	margin-bottom: 40px;
}
#company_first .block {
	background: #fff;
	padding: 60px;
}
#company_first .block .row {
	align-items: center;
	margin-bottom: 50px;
}
#company_first .block .row:last-child {
	margin-bottom: 0;
}
#company_first .block .img {
	width: 430px;
}
#company_first .block .text {
	width: 550px;
}
#company_first .block .text h3 {
	font-family: var(--font_3);
	font-size: 3rem;
  line-height: 1.5;
  margin-bottom: 25px;
  display: block;
  font-weight: 500;
}
#company_first .block .text p {}
#company_second {
  padding: 100px 0;
}
#company_second .img {
	width: 570px;
}
#company_second .text {
	width: 510px;
	font-weight: 500;
	margin-top: -7px;
}
#company_second .text .name {
	font-family: var(--font_3);
	text-align: right;
	font-size: 2rem;
	margin-top: 46px;
}
#company_second .text .name .sub {
	font-size: 1.4rem;
	margin-right: 1em;
}
#company_third {
  background: var(--site_color_3);
	padding: 100px 0;
}
#company_third h2 {
	margin-bottom: 50px;
}
#company_third p.desc {
	text-align: center;
	margin-bottom: 33px;
}
#company_third .row {
	margin-bottom: 60px;
}
#company_third .row .img {
	width: 354px;
	position: relative;
}
#company_data {
	padding: 100px 0 0;
}
#company_data .map {
	width: 100%;
	height: 500px;
}

/* service */
#company_first.service_section {
	padding: 45px 0 100px;
}
#company_third.service_section {
	padding: 100px 0 45px;
}
#company_third.service_section .row {
	margin-bottom: 0;
}
#company_third.service_section .row .btn a {
	position: absolute;
	left: 55px;
	bottom: -30px;
}
#service_second {
	padding: 91px 0 100px;
}
#service_second .wrap {
  background: url(../img/service/second_img_pc.png)no-repeat right center;
	height: 532px;
}
#service_second .top_h2 {
	text-align: left;
	line-height: 1.5;
	margin-bottom: 23px;
}
#service_second p {
	width: 570px;
}

/* works */
#works_cat {
	background: var(--site_color_3);
	padding: 60px 0;
}
#works_cat .box {
	width: 354px;
}
#works_cat .box a:hover {
	opacity: 0.75;
}

#works_list {
  padding: 60px 0 100px;
}
#works_list .row {
	justify-content: flex-start;
	flex-wrap: wrap;
}
#works_list .row .box {
	width: 354px;
	margin: 0 39px 53px 0;
}
#works_list .row .box:nth-child(3n) {
	margin: 0 0 53px 0;
}
#works_list .row .box p {
	font-size: 1.4rem;
	text-align: center;
	margin-top: 23px;
}

#works_detail {
	background: var(--site_color_3);
  padding: 100px 0;
}
#works_detail h2 {
	font-size: 3.4rem;
  letter-spacing: 0;
}
#works_detail .wrap {
	padding: 0;
}
#works_detail .slide_area {
	padding: 0 40px;
	position: relative;
}
#works_detail .thumbnail_area {
	padding: 50px 40px 40px;
}
#works_detail .cont {
	padding: 0 40px 60px;
}
#works_detail .works_slider {
	width: 100%;
	overflow: hidden;
}
#works_detail .works_thumbnail {
	width: 100%;
	overflow: hidden;
}
#works_detail #carousel .flex-active-slide img {
	border: solid 1px #111;
}
#works_detail li.movie .img {
	position: relative;
	display:block;
}
#works_detail li.movie .img:after {
	content: '';
	background: url(../img/works/over_youtube.png) no-repeat center;
	width: 100%;
	height: 100%;
	position:absolute;
	left: 0;
	top: 0;
}
#works_detail #carousel li.movie .img:after {
	background: url(../img/works/over_youtube.png) no-repeat center;
	background-size: 50%;
}

/* PRIVACY */

#privacy {
  padding: 23px 0 93px;
}
#privacy p {
	line-height: 2;
	margin: -7px 0 0;
}
#privacy dl {
	padding-top: 30px;
}
#privacy dt {
	font-weight: bold;
	line-height: 2;
}
#privacy dd {
	margin-bottom: 3rem;
	line-height: 2;
}
#privacy dd:last-child {
	margin-bottom: 0;
}
#privacy dd ul {
	padding-left: 2em;
}
#privacy dd > li {
	padding-left: 1em;
	position:relative;
}
#privacy dd a {
	color: var(--site_color_1);
	text-decoration: underline;
}
#privacy dd > ol {
	padding-left: 3em;
}
#privacy dd ol li {
	list-style-type: decimal;
	/* line-height: 1.5; */
}
#privacy dd ol li > ol {
	padding-left: 2em;
	counter-reset: item;
}
#privacy dd ol li > ol > li {
	padding-left: 2.5em;
	list-style-type: none;
	position:relative;
}
#privacy dd ol li > ol > li:before {
  counter-increment: item;
  content: '（'counter(item)'）';
	position:absolute;
	left: 0;
	top: 0;
}
#privacy dd ol li > ol > li > ol {
	padding-left: 0;
	margin-left: -0.9em;
}
#privacy dd ol li > ol > li > ol li {
	padding-left: 1em;
	list-style-type: none;
	position:relative;
}
#privacy dd ol li ol li ol li:before {
	content: '・';
	position:absolute;
	left: 0;
	top: 0;
}

/* サイトマップ */
#sitemap {
	padding: 27px 0 64px;
}
 #sitemap ul {
	 width: calc(100% / 3);
 }
#sitemap ul li {
	margin-bottom: 33px;
	line-height: 1.5;
	padding-left: 35px;
	position: relative;
}
#sitemap ul li ul {
	padding-top: 23px;
}
#sitemap ul li ul li {
	margin-bottom: 13px;
	line-height: 1.5;
	padding-left: 16px;
	position: relative;
}
#sitemap ul li ul li:last-child {
	margin-bottom: 0;
}
#sitemap ul > li:before {
	content: '';
	background: url(../img/sitemap/btn_arrow_bro_circle_right.png) no-repeat;
	background-size: cover;
	width: 18px;
	height: 18px;
	position: absolute;
	top: 1px;
	left: 0;
}
#sitemap ul li ul li:before {
	content: '';
	background: url(../img/common/btn_arrow_bro_right.png) no-repeat;
	background-size: cover;
	width: 8px;
	height: 12px;
	position: absolute;
	top: 4px;
	left: 0;
}

/* contact */

#page_contact_area.contact {
	background: #fff;
	padding: 0 0 100px;
}
#page_contact_area.contact .row {
	justify-content: center;
}
#page_contact_area.contact li {
	background: var(--site_color_3);
	margin: 0 20px;
}
.mw_wp_form_confirm #page_contact_area {
	display: none;
}
#contact_form {
	padding: 0 0 100px;
}
#contact_form h2 {
	margin-bottom: 60px;
}
#contact_form p.desc {
  text-align: center;
  line-height: 2;
	margin-bottom: 53px;
}
#contact_form p.desc.confirm,
.mw_wp_form_confirm #contact_form p.desc {
	display:none;
}
.mw_wp_form_confirm #contact_form p.desc.confirm {
	display:block;
}
#contact_form table {
	background: url(../img/common/dotted_line_beside.png) repeat-x top;
  width: 920px;
  margin: 0 auto 36px;
}
#contact_form table p {
  margin: 0;
}
#contact_form tr {
	background: url(../img/common/dotted_line_beside.png) repeat-x bottom;
	text-align: left;
}
#contact_form th {
  width: 300px;
  padding: 37px 0 34px 60px;
  vertical-align: top;
}
#contact_form th p {
	line-height: 1;
	font-weight: bold;
}
#contact_form th p span.sub {
	display: block;
	font-size: 1.3rem;
	font-weight: normal;
	margin: -15px 0 10px -60px;
}
#contact_form th .his {
	color: #fff;
	background: var(--site_color_1);
	font-size: 1.1rem;
	line-height: 1;
	padding: 3px 3px;
	float: right;
}
#contact_form td {
  padding: 20px 60px 20px 20px ;
	vertical-align: middle;
}
#contact_form td.radio {
	padding: 33px 0 18px 20px;
}
.mw_wp_form_confirm #contact_form td.radio {
  padding: 20px 60px 20px 20px ;
	vertical-align: middle;
}
#contact_form td.radio .ttl {
	display:block;
	font-weight: bold;
	margin-bottom: 0.75em;
}
#contact_form td.radio .ttl.mt {
	margin-top: 33px;
}
#contact_form td.radio .mwform-radio-field {
  margin: 0 0 13px;
	display: block;
	width: 100%;
}
#contact_form td.radio .error {
    margin-bottom: 1em;
}
/* form */
form input[type="submit"],
form input[type="button"] {
	background: #111 url(../img/common/btn_arrow_w_right.png) no-repeat right 20px center;
	color: #fff;
	font-weight: normal;
	display: inline-block;
	width: 250px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 20px;
	border: none;
}
form input.back {
	background: var(--site_color_1); url(../img/common/btn_arrow_w_left.png) no-repeat left 20px center;
}
div#wpcf7cpcnf {
    position: static;
}
form input[type="submit"]:disabled,
form input[type="button"]:disabled {
	background: #ccc;
	pointer-events: none;
	border: none;
}
form input[type="submit"]:hover,
form input[type="button"]:hover {
  cursor: pointer;
	text-decoration: none;
	opacity: 0.7;
}
#contact_form input[type="text"], #contact_form input[type="tel"], #contact_form input[type="email"], #contact_form input[type="date"]{
  width: 100%;
  padding: 2rem 0 2rem 2rem;
  border: none;
  background: #f3f3f3;
  border-radius: 0;
  line-height: 1;
}

#contact_form input[type="radio"] {
  /* position: absolute;
  opacity: 0;
	width: 30px;
	height: 30px;
	z-index:5; */
}
.wpcf7 form .wpcf7-list-item-label:before {/*チェックボックスの枠*/
  /* content: '';
	background: #ededed;
  display: inline-block;
  width: 30px;
  height: 30px;
  position: relative;
  top: 0px;
  margin-right: 19px;
  vertical-align: middle;
  cursor: pointer;
  text-align: center; */
}
input[type="radio"]:checked + .wpcf7-list-item-label:after {/*チェックアイコン*/
  /* content: "";
  display: block;
  position: absolute;
  top: -4px;
  left: 0;
  width: 30px;
  height: 30px;
  background: url("../img/contact/check_icon.png") no-repeat center; */
}
#contact_form textarea {
  padding: 1.5rem 0 1.5rem 2rem;
  width: 100%;
  height: 165px;
  border: none;
  background: #f3f3f3;
}
#contact_form input::placeholder , #contact_form table td textarea::placeholder {
  color: #999999;
}
#contact_form input[type="date"] {
	color: #999999!important;
	font-size: 0.875em;
}
#contact_form p.caution {
	line-height: 1.5;
	padding: 0 0 40px 260px;
	margin: 0;
}
#contact_form .doui {
	text-align: center;
}
#contact_form .doui input[type="checkbox"] {
	margin-right: 1rem;
	vertical-align: baseline;
}
#contact_form .doui a {
	color: var(--site_color_2);
	text-decoration: underline;
}
#contact_form .doui .mwform-checkbox-field-text {
	display:none;
}
#contact_form .doui.confirm {
	display:none;
}
#contact_form .formbt {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

#contact_form.confirm {
  padding: 30px 0 100px;
}
#contact_form.confirm .doui {
  display:none;
}
#contact_form.confirm .doui.confirm {
	display:block;
}
#contact_form.confirm td {
  vertical-align: middle;
	overflow: auto;
}
#contact_form.confirm td.radio {
  padding: 20px;
}
#contact_form.confirm .formbt {
	display: flex;
	justify-content: center;
}
#contact_form.confirm form .formbt input[type="submit"] {
	margin: 0 10px;
	width: 250px;
}

#contact_done {
  padding: 30px 0 100px;
}
#contact_done p.txt {
	text-align: center;
	margin: 0 auto 53px;
}

/* ----------------------------------------
 * ブログ　2カラム
 ---------------------------------------- */

#main {
	width: 800px;
	margin-bottom: 25px;
}
#side {
	width: 280px;
}

/*--ナビゲーション--*/
/* wp-pagenavi */
.wp-pagenavi {
  margin-bottom: 35px;
	display: flex;
	justify-content: center;
}
.wp-pagenavi .pages, .wp-pagenavi .last {
  display:none;
}
.wp-pagenavi a, .wp-pagenavi span {
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 1px var(--site_color_1);
	color: var(--site_font_color);
	margin: 0 2px;
}
.wp-pagenavi .current,
.wp-pagenavi a:hover span {
  background: var(--site_color_1);
  color: #fff;
}
.wp-pagenavi a span {
  color: var(--site_font_color);
}
.wp-pagenavi a:hover {
	text-decoration: none;
}

/* ----------------------------------------
 * ブログ　一覧
 ---------------------------------------- */

 #blog_list {
 	padding: 0 0 45px;
 }
  #blog_list h2 {
		background: var(--site_color_1);
		color: #fff;
		font-family: var(--font_3);
		font-size: 2rem;
	  line-height: 60px;
		padding-left: 20px;
		margin-bottom: 40px;
	  font-weight: 400;
	  letter-spacing: 0.1em;
	}
	.cat_select_area {
		background: url(../img/common/dotted_line_beside.png) repeat-x bottom;
		padding-bottom: 40px;
		margin-bottom: 40px;
	}
	.cat_select_area p {
    line-height: 1;
		margin-bottom: 40px;
	}
	.cat_select_area .btn a {
		width: 420px;
	}
	#blog_list .boxes {
		padding-bottom: 20px;
	}
 #blog_list .box {
 	margin-bottom: 40px;
 }
 #blog_list .img {
 	width: 330px;
 }
 #blog_list .text {
	 width: 450px;
 }
 #blog_list .text .meta {
    display: flex;
  	justify-content: space-between;
  	align-items: center;
  	margin-bottom: 20px;
}
#blog_list .text .meta .category_name a {
	color: #fff;
    display: inline-block;
    font-size: 1.2rem;
    background: var(--site_color_2);
    line-height: 22px;
    padding: 0 10px;
}
#blog_list .text .meta .category_name a:hover {
	text-decoration: none;
}
#blog_list .text .meta .date {
  display: inline-block;
}
 #blog_list .text h4.ttl {
	font-family: var(--font_3);
  font-size: 2rem;
	line-height: 1.7;
	margin-bottom: 10px;
	 font-weight: 500;
	 letter-spacing: 0.1em;
}

 /* ----------------------------------------
 * ブログ　詳細
 ---------------------------------------- */

 #blog_detail {
   padding: 0 0 45px;
 }
.detail_head .post_title {
	 font-family: var(--font_3);
   font-size: 3rem;
   text-align: left;
   margin-bottom: 23px;
	font-weight: 500;
	letter-spacing: 0.1em;
 }
.detail_head .meta {
   display: flex;
 	justify-content: space-between;
 	align-items: center;
 	margin-bottom: 20px;
 }
.detail_head .meta .category_name {
	color: #fff;
   display: inline-block;
   font-size: 1.2rem;
   background: var(--site_color_2);
   line-height: 22px;
   padding: 0 10px;
 }
.detail_head .meta .date {
	 display: inline-block;
 }
.detail_head .eyecatch {
   margin-bottom: 32px;
 }
 .detail_content {
	 /* background: url(../img/common/dotted_line_beside.png) repeat-x bottom;
	 padding-bottom: 10px; */
 }
#blog_detail .detail_content h2 {
	background: var(--site_color_1);
	color: #fff;
	font-size: 2rem;
	font-family: var(--font_3);
	text-align: left;
	width: 100%;
	padding: 15px 20px;
	margin-bottom: 40px;
	font-weight: 500;
	letter-spacing: 0.1em;
 }
#blog_detail .detail_content h3 {
	border: solid 1px #ccc;
	border-left: solid 5px var(--site_color_1);
	font-size: 1.8rem;
	text-align: left;
	width: 100%;
	padding: 14px 20px 13px;
	margin-bottom: 40px;
	font-family: var(--font_3);
	font-weight: 500;
	letter-spacing: 0.1em;
}
  #blog_detail .detail_content h4 {
   font-size: 1.8rem;
   border-bottom: 1px #222 solid;
   text-align: left;
	 padding-bottom: 15px;
   margin-bottom: 34px;
	font-family: var(--font_3);
	font-weight: 500;
	letter-spacing: 0.1em;
 }
  #blog_detail .detail_content h5 {
		font-size: 1.8rem;
    text-align: left;
		margin-bottom: 20px;
 }
  #blog_detail .detail_content h6 {
   text-align: left;
 }
 .detail_content strong {
   font-weight: bold;
   color: #cd0000;
 }
 .detail_content a {
   font-size: 1em;
   color: var(--site_color_1);
   text-decoration: underline;
 }
 .detail_content a:hover {
   text-decoration: none;
 }
 .detail_content .small {
   font-size: 0.875em;
 }
 .detail_content p {
   font-size: 1em;
   font-weight: normal;
   text-align: left;
   margin: 0 0 2em;
 }
 .detail_content hr {
   border-bottom: 1px solid #ccc;
   margin: 2rem 0;
   clear: both;
 }
 .detail_content ul,
 .detail_content ol,
 .detail_content dl,
 .detail_content blockquote,
 .detail_content pre,
 .detail_content table {
   margin-bottom: 30px;
 }
 .detail_content ol {
   list-style: decimal;
 }
 .detail_content ul,
 .detail_content ol {
 }
 .detail_content li > ul,
 .detail_content ul > ol,
 .detail_content ol > ol,
 .detail_content ol > ul {
   margin-bottom: 0px;
 }
 .detail_content ul {
   list-style: none;
   text-align: left;
 }
 .detail_content ul li {
   position: relative;
   padding-left: 1em;
   font-size: 1em;
   font-weight: bold;
   line-height: 1.5;
   margin-bottom: 0.75em;
 }
 .detail_content ul li ul {
   padding: 0.5em 0 0;
 }
 .detail_content ul li ul li {
   position: relative;
   font-size: 1em;
   line-height: 1.5;
   font-weight: normal;
   list-style: none;
   margin-bottom: 0.5em;
 }
 .detail_content ul li:before {
   content: '';
   background: var(--site_color_1);
   position: absolute;
   width: 6px;
   height: 6px;
   border-radius: 3px;
   top: 0.5em;
   left: 0;
 }
 .detail_content ul li ul li:before {
   content: '';
   background: #fff;
   position: absolute;
   width: 6px;
   height: 6px;
   border: solid 1px var(--site_color_1);
   border-radius: 3px;
   top: 0.5em;
   left: 0;
 }

 .detail_content dl dt {
   font-weight: bold;
 }
 .detail_content dl dd {
 }
 .detail_content pre {
   padding: 2rem;
   overflow: scroll;
   font-family: 'Courier', monospace;
 }
 .detail_content blockquote {
   clear: both;
   margin: 0 0 2.8rem;
   padding: 3rem 2rem 3.5rem 5.5rem;
   position: relative;
   border: 1px #e5e5e5 solid;
   background: #fafafa;
 }
 .detail_content blockquote:before {
   content: '';
   font-family: 'FontAwesome';
   font-size: 36px;
   color: #e7e7e7;
   position: absolute;
   top: 2rem;
   left: 1rem;
 }
 .detail_content blockquote cite {
   position: absolute;
   right: 2rem;
   bottom: 1rem;
   font-size: 12px;
   color: #808080;
 }
 .detail_content table {
   border: 1px #ccc solid;
   width: 100%;
 }
 .detail_content table th,
 .detail_content table td {
   padding: 1em;
   border: #ccc solid 1px;
 }
 .detail_content table th {
   background: #f5f5f5;
   font-weight: bold;
   text-align: center;
   width: 30.30303%;
 }
 .detail_content img.alignleft {
   float: left;
   margin-right: 1.5rem;
   margin-bottom: 1.5rem;
 }
 .detail_content img.alignright {
   float: right;
   margin-left: 1.5rem;
   margin-bottom: 1.5rem;
 }
 .detail_content .row {
   margin-left: 0;
   margin-right: 0;
   margin-bottom: 40px;
   align-items: center;
   justify-content: space-between;
 }
 .detail_content .col_2 {
   width: 50%;
   padding: 0 1%;
 }
 .detail_content .col_3 {
   width: calc(100% / 3);
   padding: 0 1%;
 }
 .detail_content .col_4 {
   width: 25%;
   padding: 0 1%;
 }

.detail_foot {
	padding-bottom: 35px;
}
.detail_foot p {
	margin: 0;
}

.detail_foot .page_nav {
	width: 310px;
	margin: auto;
	padding-top: 40px;
  text-align: center;
}
span.arrow {
	color: var(--site_color_1);
	font-weight: bold;
	margin: 0 10px;
}
.detail_foot .page_nav .prev {
  float: left;
	font-weight: bold;
	padding: 5px 0;
}
.detail_foot .page_nav .next {
  float: right;
	font-weight: bold;
	padding: 5px 0;
}
.detail_foot .page_nav .to_list a {
	display: inline-block;
	line-height: 30px;
	color: #fff;
	background: var(--site_color_1);
	border-radius: 5px;
	padding: 0 15px;
  margin: auto;
}
.detail_foot .page_nav:after {
	content: '';
	display: block;
	clear:both;
}

/* ----------------------------------------
* サイドバー
---------------------------------------- */
#side {

}
#side .side-widget {
	padding-bottom: 35px;
}
#side .side-widget-inner {
 position: relative;
}
#side .side-title {
	font-family: var(--font_3);
	font-size: 2rem;
	letter-spacing: 0.4em;
	line-height: 1;
	width: 100%;
	border-bottom: solid 1px #111;
	padding-bottom: 15px;
	margin-bottom: 20px;
	font-weight: 500;
}
#side .side-title .ttl {
 font-size: 1.8rem;
 font-weight: bold;
}
#side .link {
 background: var(--site_color_1);
 font-size: 1.2rem;
 line-height: 18px;
 padding: 0 5px;
 position: absolute;
 top: 4px;
 right: 0;
}
#side .link a {
 color: #fff;
}
#side .link span {
 margin-left: 0.5em;
}
#side .link a:hover {
 text-decoration: none;
 opacity: 0.7;
}
#side .posts li {
 margin-bottom: 20px;
 display: flex;
 justify-content: space-between;
}
#side .posts li:last-child {
 margin-bottom: 0;
}
#side .posts .side_blog_img {
 width: 80px;
 height: 80px;
 display: flex;
 align-items: center;
 background: #ededed;
}
#side .posts .side_blog_tx {
	width: 190px;
	text-align: left;
}
#side .posts .side_blog_tx .side_time {
	font-size: 1.2rem;
	margin-bottom: 5px;
}
#side .posts .side_blog_tx .blog_tx {
	font-family: var(--font_3);
	line-height: 1.5;
	font-weight: normal;
}
#side .widget_categories .cat-item {
	display: inline-block;
	margin: 0 5px 5px 0;
}
#side .widget_categories .cat-item a {
	color: #fff;
	display: inline-block;
	 font-size: 1.2rem;
	 line-height: 22px;
	 background: var(--site_color_2);
	 padding: 0 10px;
}
#side .widget_categories .cat-item a:hover {
	text-decoration: none;
}
#side .side_access {
	background: url(../img/common/dotted_line_beside.png) repeat-x left top;
	padding-top: 40px;
	text-align: center;
}
#side .side_access .logo {
	width: 100%;
	margin: 0 auto 24px;
}
#side .side_access p.add {
	font-size: 1.3rem;
}
