@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=M+PLUS+Rounded+1c&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');


*{
	margin: 0;
	padding: 0;
}

html {
	overflow: auto;
}
body {
	min-width: 1120px;
	background:#ff8a1a;
	font-family: "Noto Sans JP", sans-serif;
}

ul,li{
	list-style: none;
}

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

.clearfix:after{
	content: "";
	clear: both;
	display: block;
}

section{
	padding: 75px 0;
	overflow: hidden;
}

.section--color-orange{
	background: #ff8a1a;
}

.section--color-orange_light{
	background: #ffaf5f;
}

.hide{
	opacity: 0;
	pointer-events: none;
}

h1, h2, h3, h4, h5,
h1 *, h2 *, h3 *, h4 *, h5 *{
	font-family: "Kosugi Maru", sans-serif;
}

b{
	font-weight: bold;
}

h1{

}

h2{
	font-size: 52px;
	font-weight: 900;
	letter-spacing: .1em;
	line-height: 1.2;
	text-align: left;
	text-align: center;
	margin: 0 0 60px;
}

h2 span.h2_sub{
	font-size: 32px;
}

.section--color-orange_light h2{
	color: #151515;
}

.section--color-orange h2{
	color: #FCFCFC;
    text-shadow: 1px 1px 5px rgba(13,105,109,.2);
}

h3{
	color: #151515;
	font-size: 28px;
	letter-spacing: .1em;
	margin: 0 0 15px;
	text-align: left;
}

p{
	color: #292929;
	font-size: 16px;
	line-height: 1.5;
}

.link-button{
	width: 340px;
	font-family: "Kosugi Maru", sans-serif;
	border: none;
	display: inline-block;
	text-shadow: 0 0 5px rgba(0,0,0,.4);
	box-shadow: inset 1px 1px 1px rgba(255,255,255,.3), inset -1px -1px 1px rgba(0,0,0,.3), 0 5px 15px rgba(0,0,0,.15);
	padding: 20px 30px;
	box-sizing: border-box;
	font-size: 20px;
	text-align: center;
	color: #fcfcfc;
	cursor: pointer;
	border-radius: 15px;
	letter-spacing: 0.1em;
	line-height: 1.3;
	font-weight: 700;
	text-decoration: none;
  background-color: #151515;
  background-image: url(../img/common/btn_tasukaru.png), url(../img/common/btn_bg.png);
  background-repeat: no-repeat, repeat;
  background-position: right -55px bottom -55px, left top;
  background-size: auto, auto;
	transition: all .2s;
}
.link-button:hover{
	box-shadow: none;
  background-position: right 5px center, left top;
	}

.link-button_important{
	background-image: url(../img/common/btn_tasukaru_r.png), url(../img/common/btn_bg.png);
	background-color: #e70000;
}

.link-button.link-button_small{
 width: auto;
 min-width: 210px;
 font-size: 16px;
 margin-left: auto;
 margin-bottom: 0;
 padding: 15px 30px;
 border-radius: 10px;
 float: right;
}


/*スライダー仮実装*/
.slider__wrapper{
	width: 100%;
	display: flex;
	overflow: hidden;
	padding: 30px 0;
	position: absolute;
	bottom: 0;
}

.slider__container{
	display: flex;
	animation: horizontal-loop-slide 30s linear infinite;
}

.slide-paused:hover .slider__container {
  animation-play-state: paused;
}

.slider__container--lib{
	padding: 20px 0;
}

.slider__item{
	width: 25vw;
	min-width: 280px;
  margin-right: -5px;
  color: #151515;
  padding: 0.7em;
  text-decoration: none;
  font-size: clamp( 20px, calc( 0.4px + 1.75vw ), 34px );
  font-weight: bold;
  background: url(../img/top/photo_bg.png);
  background-size: 100% 100%;
  filter: drop-shadow(rgba(0, 0, 0, 0.2) 0px 3px 8px);
}
.slider__item img{
	width: 100%;
	margin-bottom: 0.5em;
}

.slider__item:nth-of-type(3n-2){
	transform: rotate(-4deg);
	text-align: center;	
	z-index: 2;
}

.slider__item:nth-of-type(3n-1){
	transform: rotate(1deg);
	text-align: center;	
	z-index: 1;
}

.slider__item:nth-of-type(3n){
	transform: rotate(7deg);
	text-align: center;
	z-index: 0;
}

.slider__item:hover{
	z-index: 3;
}


@keyframes horizontal-loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*** animation ***/
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.poyon {animation: poyon 1.5s linear forwards 0s 1;}
@keyframes poyon {
  0%   { transform: scale(0.8, 1.4) translate(0%, -50%); opacity: 0;}
  10%  { transform: scale(0.8, 1.4) translate(0%, -15%); }
  20%  { transform: scale(1.4, 0.6) translate(0%, 30%); }
  30%  { transform: scale(0.9, 1.1) translate(0%, -10%); }
  40%  { transform: scale(0.95, 1.2) translate(0%, -30%); }
  50%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
  60%  { transform: scale(1.1, 0.9) translate(0%, 5%); opacity: 1;}
  70%  { transform: scale(1.0, 1.0) translate(0%, 0%); opacity: 1;}
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); opacity: 1;}
}

.fadein,
.fadein_onload {
  opacity: .1;
  transform: scale(0.95);
  transition: all .7s cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

.fadein.scrollin,
.fadein_onload.scrollin {
  opacity: 1;
  transform: scale(1);
}

.slidein_l{
	position: absolute;
	left: -960px;
	bottom:-60px;
	transition: all .7s cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

.slidein_l.slidein_left--on{
	left: -140px;
}

.slidein_r{
	position: absolute;
	right: -960px;
	bottom:-60px;
	transition: all .7s cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

.slidein_r.slidein_right--on{
	right: -200px;
}

.effect .fadein.col-2__item:nth-of-type(2n),
.effect .fadein_onload.col-2__item:nth-of-type(2n){
  -moz-transition-delay: .3s;
  -webkit-transition-delay: .3s;
  -o-transition-delay: .3s;
  -ms-transition-delay: .3s;
}

.effect .fadein.col-3__item:nth-of-type(3n-1),
.effect .fadein_onload.col-3__item:nth-of-type(3n-1){
  -moz-transition-delay: .15s;
  -webkit-transition-delay: .15s;
  -o-transition-delay: .15s;
  -ms-transition-delay: .15s;
}

.effect .fadein.col-3__item:nth-of-type(3n),
.effect .fadein_onload.col-3__item:nth-of-type(3n){
  -moz-transition-delay: .3s;
  -webkit-transition-delay: .3s;
  -o-transition-delay: .3s;
  -ms-transition-delay: .3s;
}

.effect .fadein.col-6__item:nth-of-type(6n-4){
  -moz-transition-delay: .15s;
  -webkit-transition-delay: .15s;
  -o-transition-delay: .15s;
  -ms-transition-delay: .15s;
}

.effect .fadein.col-6__item:nth-of-type(6n-3){
  -moz-transition-delay: .3s;
  -webkit-transition-delay: .3s;
  -o-transition-delay: .3s;
  -ms-transition-delay: .3s;
}

.effect .fadein.col-6__item:nth-of-type(6n-2){
  -moz-transition-delay: .45s;
  -webkit-transition-delay: .45s;
  -o-transition-delay: .45s;
  -ms-transition-delay: .45s;
}

.effect .fadein.col-6__item:nth-of-type(6n-1){
  -moz-transition-delay: .6s;
  -webkit-transition-delay: .6s;
  -o-transition-delay: .6s;
  -ms-transition-delay: .6s;
}

.effect .fadein.col-6__item:nth-of-type(6n){
  -moz-transition-delay: .75s;
  -webkit-transition-delay: .75s;
  -o-transition-delay: .75s;
  -ms-transition-delay: .75s;
}

/**
 * drawer-menu
 */

.contents__overlay{
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,.8);
	cursor: pointer;
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
}

.drawer-nav__wrapper{
  background: #ff8a1a;
	position: fixed;
	right: -300px;
	top: 0;
	width: 300px;
	height: 100vh;
	transition: right .3s;
	z-index: 30000;
	
}

.drawer-menu--show .drawer-nav__wrapper{
	right: 0;
}

.contents__overlay{
	display: none;
}

.drawer-menu--show .contents__overlay{
	/*display: block;*/
}


.drawer-menu__container{
	padding: 90px 0 0;
}



.drawer-menu__item{
	border-bottom: 1px solid #ffffff;
	box-shadow: 0 -1px 0 0 rgb(0 0 0 / 14%), 0 -2px 0 0 rgb(255 255 255 / 30%);
	position: relative;
}

.drawer-menu__item > a,
.drawer-menu__item > span:not(.drawer-sub-menu-open-trigger){
	display: block;
	cursor: pointer;
	padding: 20px 20px 20px 25px;
	font-weight: bold;
	color: #292929;
	background-color: #eeeadf;
	background-image: url("../img/btn_cover.png"), url("../img/hum_menu_li_5.png");
	background-repeat: no-repeat, no-repeat;
	background-position: right bottom, 4px 4px;
	text-decoration: none;
	user-select: none;
}

.drawer-menu__item > a.current{
	background-color: #f6e5a0;
}

.drawer-menu__item > a:hover,
.drawer-menu__item > span:not(.drawer-sub-menu-open-trigger):hover{
  background-color: #e6debd;
}

.drawer-sub-menu__item > a{
	display: block;
	padding: 12px 20px 14px 40px;
	color: #292929;
	box-shadow: inset 0 -1px #edebd7;
	background-color: #f6f9f5;
	text-decoration: none;
	line-height: 1.25;
	font-size: 14px;
	user-select: none;
	position: relative;
}

.drawer-sub-menu__item > a.current{
	background-color: #ebf3e7;
	font-weight: bold;
	pointer-events: none;
}

.drawer-sub-menu__item > a:before {
  content: "";
  display: block;
  height: 2px;
  width: 6px;
  background: #ccc;
  position: absolute;
  left: 25px;
  top: calc(50% - 1px);
}

.drawer-sub-menu__item > a:hover{
	background-color: #e6debd;
	font-weight: bold;
}


.drawer-sub-menu__container{
	display: block; 
	max-height: calc(100vh - 460px);
	overflow: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.drawer-sub-menu__container::-webkit-scrollbar{
  display: none;
}

.drawer-sub-menu-open-trigger{
	background: url("/img/common/global_menu_hover_arrow.png") no-repeat center center;
	position: absolute;
	width: 50px;
	height: 50px;
	right: 3px;
	top: 3px;
	display: block;
	cursor: pointer;
	transition: transform .3s;
}

.show .drawer-sub-menu-open-trigger{
	transform: rotate(180deg);
}

/**
 * drawer-menu end
 */

/*** header ****/
header{
	background: none;
  box-sizing: border-box;
  position: sticky;
  padding: 0 5%;
  top: 0;
  width: 100%;
  z-index: 100;
  background: #ff8a1a;
  box-shadow: 0 5px 10px -5px rgba(0, 0, 0, .2);
}

#body-sub header{
	background:#FCFCFC;
}

.header-container{
	display: flex;
	height: 90px;
	align-items: center;
}

.header-logo a{
	width: 152px;
	height: 69px;
	display: inline-block;
	background: url("/img/common/logo.png") no-repeat center center;
}

#body-top .header-logo a{
	background: url("/img/common/logo_top.png") no-repeat center center;
}

.header-tel{
	font-family: "Kosugi Maru", sans-serif;
	background: url(../img/common/header_freedial.png) no-repeat left bottom 5px;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-left: auto;
  color: #151515;
  padding: 0 0 0 40px;
}

#body-top .header-tel{
	background: url(../img/common/header_freedial_top.png) no-repeat left bottom 5px;
	color: #FCFCFC;
}

.header-tel span {
  font-size: 12px;
  display: block;
  margin-bottom: 6px;
}

.nav--sp{
	display: none;
}

.header-nav{
	float: right;
}

.header-nav li {
	float: left;
}

.header-nav a {
	color: #292929;
	display: inline-block;
	font-size: 17px;
	font-weight: 700;
	padding: 15px 25px;
	text-decoration: none;
}

.header-contact{
	background-color: #e70000;
  background-image: url(../img/common/btn_tasukaru_r.png), url(../img/common/btn_bg.png);
  background-repeat: no-repeat, repeat;
  background-position: right -55px bottom -55px, left top;
  background-size: auto, auto;
	border-radius: 15px;
	box-sizing: border-box;
	color: #FFF;
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	margin-left: 20px;
	line-height: 110%;
	letter-spacing: 0.15em;
	padding: 15px;
	position: relative;
	text-align: center;
	text-decoration: none;
	width: 212px;
	text-shadow: 0 0 5px rgba(0,0,0,.4);
	box-shadow: inset 1px 1px 1px rgba(255,255,255,.3), inset -1px -1px 1px rgba(0,0,0,.3), 0 5px 15px rgba(0,0,0,.15);
	transition: all .3s;
}

.header-contact:hover{
	box-shadow: none;
  background-position: right 5px center, left top;
}


/*** footer ****/
.footer_wrapper{
	background: #242424 url(../img/common/footer_bg_bottom.png) no-repeat center bottom;
	padding:90px 0 230px;
	color: #FCFCFC;
	text-align: center;
}

.footer_tel{
	display: inline-block;
	font-family: "Kosugi Maru", sans-serif;
	background: url(../img/common/header_freedial.png) no-repeat left center;
	font-size: 80px;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 1;
	margin-left: auto;
	padding: 0 0 0 45px;
	margin-bottom: 15px;
}

.footer_tel_sub{
	font-size: 24px;
	font-family: "Kosugi Maru", sans-serif;
	margin-bottom: 30px;
}

.footer_wrapper .link-button{
	margin-bottom: 60px;
}

.footer_text span{
	font-size: 40px;
	font-family: "Kosugi Maru", sans-serif;
	line-height: 1.25;
	color: #F7721E;
	display: inline-block;
	position: relative;
	padding: 0 1em;
}

.footer_text span:before {
  content: "＼";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
}

.footer_text span:after {
  content: "／";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
}

.pagetop {
  text-align: center;
  clear: both;
  position: fixed;
  right: 45px;
  bottom: 0;
  z-index: 99;
  transition: opacity .3s;
}

.pagetop a{
	width: 120px;
  height: 144px;
  display: block;
  background: url(../img/common/pagetop.png) no-repeat center bottom -7px;
  transition: all .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}

.pagetop a:hover{
	background-position: center bottom -1px;
}


/*** #section-mainimg ***/

#section-mainimg{
	position: relative;
}

.mainimg__container{
	background: url(../img/top/main_bg_gs.png) no-repeat;
  height: 70vw;
  min-height: 840px;
  margin: 0 auto;
  position: relative;
  background-size: 120% auto;
  background-position: left calc(50% - 70px) top 10px;
}

.mainimg__block{
	position: absolute;
	top: 50px;
	left: 42.5%;
	width: 42.5%;
}

.mainimg__block img {
    width: 100%;
}

/*** section-case ***/
.case_block_top li,
.case_block li{
	float: left;
}

.case__block{position: relative;}

.case__container{
	position: relative;
}

.case__container:before {
  display: block;
  content: "";
  background: #ff8a1a url(https://stage-tasukaru.dekiteru001.com/img/top/case_top_bg.png) no-repeat right 90px center;
  width: calc((100% - 960px) / 2);
  height: 560px;
  position: absolute;
  right: calc(50% + 480px);
  bottom: 125px;
  z-index: 1;
  box-shadow: 90px 0 40px -90px rgba(0,0,0,.3);
}


/*** section-service ***/
#section-service.section-service{
	padding: 0;
	background: url(../img/top/service_bg_paint.png) no-repeat top center ,url(../img/top/service_bg.png), #ffaf5f;
	position: relative;
}

#section-service.section-service li{
	width: 1280px;
	height: 680px;
	background: url(../img/top/service_topmenu_001.png) no-repeat left bottom;
	background-size: contain;
	margin: 0 auto;
	position: relative;
}

#section-service .service_main h2{
	font-family: serif;
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: 144px;
	letter-spacing: 0;
	text-shadow: none;
	color: #FCFCFC;
	opacity: 0.5;
	position: absolute;
	right: 0;
	top: 30px;
}

#section-service .haiku_sub_title{
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: serif;
	font-size: 28px;
	font-weight: bold;
	width: 156px;
	height: 156px;
	color: #FCFCFC;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
	border: 1px solid #FCFCFC;
	position: absolute;
	right: 180px;
	top: 80px;
}

#section-service .haiku_text{
	font-family: serif;
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: 48px;
	text-shadow: none;
	color: #151515;
	position: absolute;
}

#section-service .haiku_text1{
  top: 200px;
  right: 260px;
}

#section-service .haiku_text2{
	top: 250px;
	right: 330px;
}

#section-service .haiku_text3{
	top: 400px;
	right: 400px;
}

#section-service .link-button{
	position: absolute;
	left: 0;
	bottom: 60px;
}


/*** section-service_list ***/

#section-service_list.section-service_list{
	background-color:#ff8a1a;
}

#body-top #section-service_list.section-service_list{
  background-image: url(../img/top/service_list_img.png);
  background-repeat: no-repeat;
  background-position: center top 300px;
  background-size: 1120px auto;
}

#body-top #section-service_list.section-service_list h2{
	margin-bottom: 90px;
}

.service_list_wrapper{
	width: 1120px;
	margin-bottom: 60px;
}

.service_list_main li{
	float: left;
	width: 18%;
	margin-right: 2.5%;
	position: relative;
}
.service_list_main li:last-of-type{
	margin-right: 0;
}

.service_list_main li img{
	width: 100%;
}

.service_list_main li a:before{
	content:"";
	display: block;
	text-align: center;
	font-family: "Kosugi Maru", sans-serif;
	padding: 20px 0 0;
	color: #292929;
	font-size: 20px;
	letter-spacing: .1em;
	font-weight: bold;
	background: url(../img/top/service_fukidashi.png) no-repeat;
	filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .2));
	width: 200px;
	height: 75px;
	position: absolute;
	left: 3px;
	top: 0;
	transition: all .2s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}

.service_list_main li a:hover:before{
	scale: 1.1;
}

.service_list_main li:nth-of-type(1) a:before{content:"家具の組立て"; top:75px;}
.service_list_main li:nth-of-type(2) a:before{content:"エアコン清掃"; top:-30px;}
.service_list_main li:nth-of-type(3) a:before{content:"植木の伐採"; top:-15px;}
.service_list_main li:nth-of-type(4) a:before{content:"不用品回収"; top:-10px;}
.service_list_main li:nth-of-type(5) a:before{content:"部屋の掃除"; top:-15px;}

.section-service_list .service_list li {
  margin-bottom: 30px;
}

.service_list li a{
	background:url(../img/common/service_list_1.png) no-repeat;
	background-size: contain;
	filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .2));
	font-family: "Kosugi Maru", sans-serif;
	color: #292929;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: .1em;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 30px;
	box-sizing: border-box;
	transition: all .2s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}

.service_list li:nth-of-type(6n-5) a{background-image: url(../img/common/service_list_1.png);}
.service_list li:nth-of-type(6n-4) a{background-image: url(../img/common/service_list_2.png);}
.service_list li:nth-of-type(6n-3) a{background-image: url(../img/common/service_list_3.png);}
.service_list li:nth-of-type(6n-2) a{background-image: url(../img/common/service_list_4.png);}
.service_list li:nth-of-type(6n-1) a{background-image: url(../img/common/service_list_5.png);}
.service_list li:nth-of-type(6n) a{background-image: url(../img/common/service_list_6.png);}
.service_list li a:hover{
	scale: 1.03;
}


/*** section-price ***/

#section-price.section-price{
	background: #ffaf5f url(../img/top/price_top_bg.png) no-repeat right calc(50% - 620px) bottom -60px;
}

.top-price_wrapper {
  width: 870px;
  margin: 0 auto;
}

.price_left{
	width: 60%;
	float: left;
	margin-right: 5%;
}

.price_right{
	width: 35%;
  float: left;
}

.price_image{
	width: 870px;
	margin: 0 auto 60px;
	text-align: center;
}

.service_price_caption{
	font-size: 14px;
	text-align: right;
	padding-top: 10px;
}

/*.top_price_table{
  width: 100%;
  margin: 0 auto 15px;
  border-collapse: separate;
  font-size: 16px;
}

.top_price_table th, .top_price_table td {
  padding: 15px;
	font-family: "Kosugi Maru", sans-serif;
}

.top_price_table th{
	font-size: 20px;
  background: #333;
  color: #fff;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
  width: 40%;
  overflow: visible;
  position: relative;
  box-shadow: inset 0 -1px rgba(255, 255, 255, .2);
  border-bottom: 1px solid #222;
}

.top_price_table td{
	background: #fcfcfc;
	color: #151515;
	font-size: 28px;
	font-weight: bold;
	width: 60%;
	padding-left: 20px;
	text-align: right;
	box-shadow: inset 0 -1px #FFF;
	border-bottom: 1px solid rgba(0, 0, 0, .075);
}
*/

.service_area{
	padding: 20px 20px 15px;
	border: 1px solid #151515;
	background: #ffaf5f;
	position: relative;
	border-radius: 10px;
	margin-top: 15px;
}

.service_area h3{
	font-size: 20px;
	background: #ffaf5f;
	padding: 0 10px;
  position: absolute;
  top: -15px;
}

.service_area p{
	font-weight: bold;
	font-size: 16px;
}
.price_contact{
  background: #ff8a1a;
  padding: 30px 30px 45px;
  box-sizing: border-box;
  border-radius: 20px;
  text-align: center;
}

.price_contact h3{
	font-size: 22px;
	margin-bottom: 30px;
	text-align: center;
	background: #151515;
	border-radius: 100px;
	color: #FCFCFC;
	padding: 0.5em 1em;
	display: inline-block;
	line-height: 1;
	width: 100%;
	box-sizing: border-box;
}

.price_contact .price_tel{
	display: inline-block;
	background: url(../img/common/header_freedial_top.png) no-repeat left center;
	font-family: "Kosugi Maru", sans-serif;
	font-size: 64px;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 1;
	margin-left: auto;
	color: #151515;
	padding: 0 0 0 45px;
	margin-bottom: 10px;
}

.price_contact .price_tel_sub{
	font-family: "Kosugi Maru", sans-serif;
	font-size: 20px;
	margin-bottom: 30px;
}

.price_contact .link-button{
	margin-bottom: 0;
}

/*** section-voice ***/

.voice_service{
	display: inline-block;
	color: #F7721E;
	font-weight: bold;
	margin-bottom: 20px;
}

.voice_block{margin-bottom: 60px;}

.voice_img{
	width: 400px;
}

.voice_text{
	padding: 60px;
	background: url(../img/top/voice_bg_1.png);
	background-size: 100% 100%;
	box-sizing: border-box;
	position: relative;
	width: 55%;
}

.voice_block:nth-of-type(3n-2) .voice_text{background-image: url(../img/top/voice_bg_1.png);}
.voice_block:nth-of-type(3n-1) .voice_text{background-image: url(../img/top/voice_bg_2.png);}
.voice_block:nth-of-type(3n) .voice_text{background-image: url(../img/top/voice_bg_3.png);}

.voice_text:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 25px solid transparent;
  border-right: 50px solid #fcfcfc;
  border-bottom: 25px solid transparent;
  position: absolute;
  top: 50%;
  left: -30px;
  transform: translateY(-50%);
}

.voice_text p{
	margin-bottom: 30px;
}

/*** section-flow ***/

#section-flow .col-5 ul{
	display: flex;
	justify-content: space-between;
}

#section-flow .col-5 li{
  width: 17%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FCFCFC;
  color: #151515;
  line-height: 1.3;
  border-radius: 15px;
  padding: 30px 10px;
  box-sizing: border-box;
  position: relative;
  font-size: 18px;
  font-weight: bold;
}


#section-flow .col-5 li:before{
	content:"";
	display: block;
	background: url(../img/common/flow_arrow.png) no-repeat;
	width: 17px;
	height: 28px;
	position: absolute;
	right: -30px;
	top: 50%;
	transform: translateY(-50%);
}

#section-flow .col-5 li:last-of-type:before{
	display: none;
}

/*** サービスページ ***/
.h2_sub_title{
	display: inline-block;
	background: #151515;
	color: #fcfcfc;
	font-size: 16px;
	padding:5px 15px;
	box-sizing: border-box;
	border-radius: 60px;
	margin:0 0 15px;
	line-height: 1.25;
}

.service_block{
	width: 960px;
	margin: 0 auto;
	background: #FCFCFC;
	padding: 60px 45px;
	border-radius: 30px;
	box-sizing: border-box;
	position: relative;
}

.section-service_detail .service_block:before{
	content:"";
	display: block;
	background:url(../img/service/service_h2.png) no-repeat;
	width: 665px;
	height: 237px;
	position: absolute;
	left: -90px;
	top: -237px;
}

.section-service_detail .service_price_caption{
	margin-bottom: 30px;
}

.service_img{
	text-align: center;
}
table.service_table{
	clear: both;
	width: 100%;
	border-collapse: collapse;
	margin: 0 auto 30px;
}

table.service_table tr{
	width: 100%;
}

table.service_table th,
table.service_table td{
	padding: 15px;
	text-align: left;
	font-size: 16px;
}

table.service_table th {
    width: 30%;
    font-weight: bold;
    border: solid 1px #222;
    background: #151515;
    color: #fcfcfc;
    box-shadow: inset 1px 1px #333;
}

table.service_table td {
	font-weight: normal;
	width: 70%;
	border: solid 1px #d6d6d6;
	background: #FCFCFC;
	color: #333333;
	box-shadow: inset 1px 1px #FFF;
	line-height: 1.75;
}

.service_table .td_small{
	font-size: 10px;
	color: #666;
}

.section-service_detail .link-button{
	width: auto;
}

.section-service_detail h2{
	position: relative;
	z-index: 1;
}

.section-service_detail h3{
	margin-bottom: 30px;
	color: #FCFCFC;
	border-left: 6px solid #F7721E;
	border-radius: 3px;
	background: #222;
	padding: 15px;
	box-sizing: border-box;
}

.section-service_detail h4{margin-bottom: 10px;}

.section-service_detail img{ margin-bottom: 30px; }

.service_price~img{margin-bottom: 0;}

.section-service_detail .menu_contents{
	margin-bottom: 60px;
}

.section-service_detail strong{
	font-size: 18px;
	color: #151515;
	font-weight: bold;
}

.section-service_detail .service_recommend{
	color: #151515;
	padding: 5px 0 5px 30px;
	font-weight: bold;
	font-size: 18px;
	background: url(../img/common/check_list.jpg) no-repeat left center;
}

.section-service_detail .service_feature{
	margin-bottom: 30px;
}

.section-service_detail .service_feature h4{
	color: #151515;
	font-weight: bold;
	font-size: 18px;
	padding: 0 0 0 30px;
	background: url(../img/common/h4_circle.png) no-repeat left center;
}

.section-service_detail .service_type{
	margin-bottom: 30px;
}

.section-service_detail .service_type h4{
	color: #151515;
	font-weight: bold;
	font-size: 18px;
}

.section-service_detail .service_price{
	margin-bottom: 30px;
}

.section-service_detail .service_price h4{
	color: #151515;
	font-weight: bold;
	font-size: 18px;
	padding: 0 0 0 30px;
	background: url(../img/common/h4_circle.png) no-repeat left center;
}

.section-service_detail .service_flow{
	margin-bottom: 20px;
	padding-bottom: 20px;
	position: relative;
}

.section-service_detail .service_flow:last-of-type{
	margin-bottom: 0;
	padding-bottom: 0;
}


.section-service_detail .service_flow:before{
	content:"";
	display: block;
	background: url(../img/common/flow_dotarrow.png) no-repeat;
	width: 20px;
	height: 22px;
	position: absolute;
	left:0;
	bottom: -12px;
}

.section-service_detail .service_flow:last-of-type:before{
	display: none;
}

.section-service_detail .service_voice{
	margin-bottom: 30px;
}

.section-service_detail .service_voice:last-of-type{
	margin-bottom: 0;
}

.section-service_detail .service_voice h4:before{
	content: "Q.";
	font-size: 120%;
}

.section-service_detail .service_voice p{
	background: #feebd8;
	position: relative;
	padding: 15px;
	box-sizing: border-box;
	border-radius: 5px;
}

.section-service_detail .service_voice p:before{
	content: "A.";
	font-size: 120%;
}

.section-service_detail .service_voice p:after{
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #feebd8;
  border-left: 10px solid transparent;
  position: absolute;
  top: -10px;
  left: 30px;
}

#body-sub .section-service_list .link-button{
	margin-top: 30px;
}


/*=============================
.drawer-toggle
=============================*/
.drawer-toggle {
  width: 90px;
  height: 90px;
  cursor: pointer;
  position: relative;
  margin-left: 20px;
  font-family: "Kosugi Maru", sans-serif;
}

.drawer-toggle:before{
	content: "MENU";
	font-size: 14px;
	color: #151515;
	letter-spacing: 0.6em;
	position: absolute;
	left: 20px;
	bottom: 17px;
}

.drawer-toggle span {
  height: 5px;
  background-color: #151515;
  right: 10px;
  position: absolute;
  border-radius: 3px;
}

.drawer-toggle, .drawer-toggle span {
  display: inline-block;
  transition: all .5s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  box-sizing: border-box;
}

.drawer-toggle span:nth-of-type(1) {
  top: 22px;
  width: 70px
}

.drawer-toggle span:nth-of-type(2) {
  top: 36px;
  width: 45px;
  background-color: #F7721E;
}

#body-top .drawer-toggle span:nth-of-type(2){
  background-color: #FCFCFC;
}

.drawer-toggle span:nth-of-type(3) {
  top: 50px;
  width: 70px
}

.drawer-toggle:hover span:nth-of-type(2) {
  width: 70px;
}

/*** ドロワーメニュー展開時 ***/

.drawer-toggle.drawer-toggle--close{
	position: absolute;
	top: 0;
	right: 5%;
}

.drawer-toggle.drawer-toggle--close:before {
  content: "CLOSE";
  left: 5px;
  bottom: 17px;
  line-height: 1;
}

.drawer-toggle.drawer-toggle--close span {
  background-color: #151515;
}

.drawer-toggle.drawer-toggle--close span:nth-of-type(1) {
	width: 74px;
	transform: translateX(-5px) translateY(14px) rotate(-20deg);
}

.drawer-toggle.drawer-toggle--close:hover span:nth-of-type(1){
	transform: translateX(-5px) translateY(14px) rotate(-25deg);
}

.drawer-toggle.drawer-toggle--close span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  -webkit-animation: active-btn05-bar02 .8s forwards;
  animation: active-btn05-bar02 .8s forwards;
}

.drawer-toggle.drawer-toggle--close span:nth-of-type(3) {
	width: 74px;
	transform: translateX(-4px) translateY(-14px) rotate(20deg);
}

.drawer-toggle.drawer-toggle--close:hover span:nth-of-type(3){
	transform: translateX(-4px) translateY(-14px) rotate(25deg);
}

@-webkit-keyframes active-btn05-bar02 {
  100% {
    height: 0;
  }
}
@keyframes active-btn05-bar02 {
  100% {
    height: 0;
  }
}


/***  form ***/

input[type="text"],input[type="file"], textarea, input[type="submit"]{
    -webkit-appearance: none;
}

.contactForm{
	text-align: center;
}

.formLeft, .formRight{
	width: 50%;
	float: left;
	display: inline-block;
}

.formLeft p, .formRight p{
	text-align: left;
	font-size: 14px;
	width: 355px;
    margin: 0 auto 5px;
}

.textareaFormOuter p{
	width: 745px;
	text-align: left;
	margin:0 auto;
	font-size: 14px;
}

.inputFormOuter{
	text-align: center;
	margin-bottom: 35px;
}

.formRight label, .formLeft label{
	text-align: left;
}


.formRight{
	transform: translateY(25px);
}

.formOuter{
    margin: 0 auto 80px;
	width: 820px;
	background:#FFF;
	text-align: center;
	padding: 15px 10px;
    border-radius: 10px !important;
}

div.baloon.right{
	transform: translateY(25px);
}

#section-form .formInput{
	width: 340px;
	margin-bottom: 25px;
	border-radius: 5px;
	border: 1px solid #CCC;
}

.thankyouPageWrappar{
	text-align: center;
}

#section-form{
	background: #F6F6F2;
}

#section-form h2{
	color: #333;
}

.contactForm textarea{
	width: 745px;
	resize: none;
	border-radius: 5px;
	border: 1px solid #CCC;
	height: 200px;
}

/*** validator ***/

/* モーダル上で動作させるため変更 */
div.baloon {
	position: absolute;
	z-index:101 !important;
	min-width:130px;
}

div.baloon a {
  color: #F60;
  text-decoration: none;
  padding: 3px;
  height: 9px;
  line-height: 9px;
  display: inline-block;
  margin-right: 5px;
  background: #FFF;
  border-radius: 100%;
  font-size: 12px;
}

div.baloon a:hover {
  background-color: #F5F5F5;
}

div.baloon div {
  background: #E70000;
  padding: 3px 5px;
  color: #FFF;
  border-radius: 18px;
  font-size: 12px;
}

div.baloon {
	font-size: 10px;
	color: #FFFFFF;
	z-index: 20;
	background-repeat: no-repeat;
	background-position: left top;
	height: 25px;
	padding-top: 5px;
	padding-right: 5px;
	padding-left: 5px;
}
div.baloon a {
	text-decoration: none;
}

div.baloon a:hover {
	color: #000000;
}

div.baloon div {
	white-space: nowrap;
	background-repeat: no-repeat;
}

div.baloon span {
	margin-top: 2px;
	background-repeat: no-repeat;
	background-position: left 3px;
	color: #FFFFFF;
	padding-left: 5px;
}



/**
 * フォーム
 */

.box-form h3{
	font-size: 20px;
	margin-bottom: 5px;
}

.pict_input_block{
	width: calc( 100% - 75px );
	margin-bottom: 5px;
}

.pict_input_block .input_pict_file{
	padding: 5px;
	background: #F5F5F5;
	margin-bottom: 3px;
}

.pict_plus_minus_btn_block{
	display: flex;
}

.pict_form_plus,
.pict_form_minus{
	cursor: pointer;
}

.pict_form_plus img{
	margin-right: 3px;
}

.pict_form_plus .hidden,
.pict_form_minus .hidden{
	display: none;
}


/**
 * ブログ関連
 */

.blog{
	background: #ff8a1a;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.blog .block_wrapper{
	width: 960px;
    margin: 0 auto;
    padding: 75px 0;
}	

.blog .block_wrapper #contents{
	width: 720px;
	float: left;
}

.blog .block_wrapper #sidebar_m{
	width: 210px;
	float: right;	
}

.blog_content {
  background: #ffebc9;
  padding: 30px 40px;
  border-radius: 10px;
  border: 1px solid #fae8ca;
}

.blog .block_wrapper .prenext_navi{
	display: flex;
	margin-bottom: 15px;
}

.blog .block_wrapper .prenext_navi .prev,
.blog .block_wrapper .prenext_navi .next{
	color: #151515;
	font-weight: bold;
}

.blog .block_wrapper .prenext_navi .prev{
	margin-right: auto;
}

.blog .block_wrapper #contents .blog_item{
	padding: 15px 0 45px;
  border-radius: 10px;
  background: #ffebc9;
  margin-bottom: 30px;
  line-height: 1.75;
}

.blog .block_wrapper #contents .blog_item h2{
	font-size: 30px;
	color: #151515;
	font-weight: bold;
	text-align: left;
	line-height: 1.5;
	letter-spacing: .05em;
	border-bottom: 2px dotted #f7721e;
	border-top: 2px dotted #f7721e;
	padding: 15px 0 10px;
	margin-bottom: 15px;
}

.blog .block_wrapper #contents .blog_item h2 a{
	color: #151515;
	text-decoration: none;
}

.blog .block_wrapper #contents .blog_item .contentBody{
	color: #292929;
}

.blog .block_wrapper #contents .blog_item img{
	max-width: 100%;
}

.blog .block_wrapper #contents .blog_item .item_date{
    font-size: 12px;
    color: #333;
    margin-bottom: 10px;
    text-align: right;
}

.blog .block_wrapper #contents .item_footer{
	margin-bottom: 30px;
}

.blog .block_wrapper #contents .blog_item .item_footer{
	margin-top: 20px;
  margin-bottom: 0px;
  padding: 10px;
  border-top: 1px dotted #292929;
  border-bottom: 1px dotted #292929;
}

.blog .block_wrapper #contents .item_footer p{
	font-size: 14px;
}


.blog .blogmenu_box{
	background: #FCFCFC;
	border-radius: 10px;
	margin-bottom: 30px;
}

.blog .blogmenu_box h2{
	background: #292929;
	border-radius: 10px 10px 0 0;
	color: #FCFCFC;
	font-size: 16px;
	margin-bottom: 0;
	padding: 10px 15px;
	text-align: left;
	box-shadow: inset 0 -1px rgba(0,0,0,.2);
}

.blog .blogmenu_box h3{
	font-size: 18px;
	margin-bottom: 15px;
	padding: 0 15px;
}

.blog .blogmenu_box ul,
.blog .blogmenu_box .blogmenu_box_inner{
	padding: 15px;
}

.blog .blogmenu_box ul li{
	margin-bottom: 10px;
}

.blog .blogmenu_box a{
	color: #292929;
	letter-spacing: .1em;
	font-size: 14px;
	line-height: 1.5;
}

.blog .blogmenu_box a:hover{
	text-decoration: underline;
}

.blog .blogmenu_box .monthlyRank{
	display: none;
}

.blog .blogmenu_box .buzz_title{
	line-height: 1.5;
	margin-bottom: 10px;
}

.loginbtn_sidebar{
	margin-bottom: 5px;
}

/** ページャ */

.pagertitle{
	margin-bottom: 10px;
}

.pager {
	margin-bottom: 15px;
}

.pager a,.pager span {
  padding: 12px 15px;
  display: block;
  text-align: center;
  float: left;
  margin-right: 5px;
  background-color: #FCFCFC;
  border-radius: 3px;
  font-size: 14px;
  font-weight: bold;
/*  border: 1px solid #DDD;*/
}

.pager span {
  color: #FCFCFC;
  background: #151515;
}

.pager a {
  color: #151515;
  font-size: 14px;
  font-weight: bold;
}

.pager .pager_dots{
	background: none;
	border: none;
	color: #292929;
}

.pager a:link,
.pager a:visited {
  color: #292929;
  text-decoration: none;
}

.pager a:hover,
.pager a:active {
  background-color: #f7721e;
  color: #FFFFFF;
}

/** カレンダー */
#blog_cal {
    width: calc(100% - 20px);
    border-collapse: collapse;
    margin: 5px 10px;
}

#blog_cal th, #blog_cal td {
	font-size: 13px;
    padding: 4px;
    text-align: center;
}

#blog_cal .rsBdn a, #blog_cal .lsBdn a {
    text-decoration: underline;
}

#blog_cal .rsBdn a:hover, #blog_cal .lsBdn a:hover {
    text-decoration: none;
}

#blog_cal td a {
    text-decoration: underline;
}

#blog_cal td a:hover {
    text-decoration: none;
}

#blog_cal td {
    height: 19px; /* 行の高さを指定 */
}

#blog_cal .empty {
    background-color: #f9f9f9; /* 空のセルの背景色 */
}

#blog_cal th[colspan="2"],
#blog_cal th[colspan="3"],
#blog_cal th[colspan="2"] {
    text-align: center;
}

/**
 * ブログカード型サムネイル
 */

.section-case .splide__pagination {
	bottom: 12px;
}

.section-case .splide__pagination__page{
	opacity: 1;
	background: #ffcd9b;
}

.section-case .splide__arrow--prev {
  bottom: 0;
  top: auto;
  left: calc(50% - 120px);
  background: #151515;
  opacity: 1;
  width: 40px;
  height: 40px;
  transform: none;
}

.section-case .splide__arrow--next {
	bottom: 0;
	top: auto;
	right: calc(50% - 120px);
	background: #151515;
	opacity: 1;
	width: 40px;
	height: 40px;
	transform: none;
}

.section-case .splide__arrow svg{
	fill: #FCFCFC;
}

.splide{
/*	padding: 30px 0;*/
}

.splide__track{
	padding: 30px 0 60px;
	margin-bottom: 30px;
}

.blog-post__wrapper{
	display: flex;
}

.blog-post__wrapper .blog-post--card{
    width: 220px;
    background: #FFF;
    border-radius: 15px;
    display: block;
    text-decoration: none;
    color: #151515;
}

.blog-post__wrapper .blog-post--card img{
	width: 100%;
	max-width: 100%;
	height: 180px;
	margin-bottom: 20px;
	object-fit: cover;
	border-radius: 15px 15px 0 0;
}

.blog-post__wrapper .blog-post--card .title,
.blog-post__wrapper .blog-post--card .content,
.blog-post__wrapper .blog-post--card .date{
	padding: 0 15px;
	display: block;
}

.blog-post__wrapper .blog-post--card .title{
	color: #F7721E;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: .75em;
}

.blog-post__wrapper .blog-post--card .content{
	margin-bottom: .75em;
	font-size: 14px;
  line-height: 1.5;
  color: #292929;
}

.blog-post__wrapper .blog-post--card .date{
	font-size: 12px;
  padding-bottom: 15px;
  text-align: right;
  color: #666;
}




/**
 * animation test
 */

.vt {
    writing-mode: vertical-rl;
    text-align: center;
    font-size: 3rem;
    font-family: "Noto Serif JP";
    text-align: left;
    line-height: 2;
    letter-spacing: .1em;
    width: 480px;
    margin: 0 auto 0 auto;
}

.vt .text{
	opacity: 0;
}

.vt .text.animate{
	opacity: 1;
}

.vt .character {
	opacity: 0;
	font-family: "Noto Serif JP";
	display: inline-block;
}

.vt .character.show {
    animation-name: wave;
    animation-duration: .9s;
    animation-fill-mode: forwards;
}

.vt .line-2{
	margin-top: 2em;
}

.vt .line-2 .character{
	animation-delay: 1.5s;
}

.vt .line-3{
	margin-top: 4em;
}

.vt .line-3 .character{
	animation-delay: 3s;
}

@keyframes wave{
    0% {
        opacity: 0;
        transform: translateX(33%) translateY(-33%) scale(1);
    }

    50% {
        transform: translateX(0%) translateY(0%) scale(1.1);
    }

    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}


.purun {animation: purun 0.8s ease forwards ;}

@keyframes purun {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%);  opacity:1;}
  15%  { transform: scale(0.9, 0.9) translate(0%, 5%); }
  30%  { transform: scale(1.2, 0.8) translate(0%, 7.5%); }
  50%  { transform: scale(0.8, 1.2) translate(0%, -7.5%); }
  70%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%);  opacity:1;}
}

@media screen and (max-width:480px) {
	body {
		min-width: auto;
		padding-bottom: 12.1vw;
	}
	.pc_none{display: block;}
	.sp_none{display: none;}
	section {
	    padding: 45px 5%;
	}
	h2{
		font-size: calc(1.75rem + ((1vw - 3.2px) * 7.5));
		margin: 0 0 1em;
		text-align: center;
	}

	h2 span.h2_sub{
		font-size: calc(1.25rem + ((1vw - 3.2px) * 6.25));
	}

	h3{
		font-size: calc(1.125rem + ((1vw - 3.2px) * 5));
		margin: 0 0 0.5em;
	}

	h4{
		font-size: calc(1rem + ((1vw - 3.2px) * 5.625));
	}

	p{
		font-size: calc(0.875rem + ((1vw - 3.2px) * 2.5));
	}

	.link-button{
		width: 100%;
		padding: 20px 30px;
		font-size: calc(1rem + ((1vw - 3.2px) * 5.625));
		background-position: right 5px center, left top;
	}

	.link-button_important{
		background-color: #e70000;
	}

	.link-button.link-button_small{
	 width: 100%;
	 min-width: auto;
	 font-size: calc(0.875rem + ((1vw - 3.2px) * 2.5));
	 float: none;
	}

/*** header ***/

	.header-container{
		width: 100%;
	}

	header{
		height: 60px;
		padding: 0;
		transition: top .3s;
	}

	header.header--hide{
		top: -60px;
	}

	.header-container{
		display: block;
		height: 60px;
	}
	.header-logo a{
		height: 50px;
		margin: 5px 0 0 5px;
		display: inline-block;
		background-size: contain;
	}
	#body-top .header-logo a{
		background-size: contain;
	}
	.header-tel,
	.header-contact{
		display: none;
	}

	/*=============================
	.drawer-toggle
	=============================*/
	.drawer-toggle{
		width: 60px;
    height: 60px;
    margin: 0;
    position: absolute;
    right: 0;
    top: 0;
	}

	.drawer-toggle:before {
    font-size: 12px;
    letter-spacing: 0.4em;
    left: 11px;
    bottom: 8px;
	}

	.drawer-toggle span {
		height: 4px;
		right: 5px;
	}

	.drawer-toggle span:nth-of-type(1) {
		top: 10px;
		width: 50px;
	}

	.drawer-toggle span:nth-of-type(2) {
		top: 20px;
		width: 30px;
	}

	.drawer-toggle span:nth-of-type(3) {
		top: 30px;
		width: 50px;
	}

	.drawer-toggle:hover span:nth-of-type(2) {
	  width: 50px;
	}

	/*** ドロワーメニュー展開時 ***/

	.drawer-toggle.drawer-toggle--close{
		top: 0;
		right: 0;
	}

	.drawer-toggle.drawer-toggle--close:before {
	  left: 5px;
	  bottom: 8px;
	}

	.drawer-toggle.drawer-toggle--close span:nth-of-type(1) {
		width: 52px;
		transform: translateX(1px) translateY(10px) rotate(-25deg);
	}

	.drawer-toggle.drawer-toggle--close span:nth-of-type(3) {
		width: 52px;
		transform: translateX(1px) translateY(-10px) rotate(25deg);
	}


	/***  form ***/
	.box-form h3{
		font-size: calc(1rem + ((1vw - 3.2px) * 5));
	}

	/*** #section-mainimg ***/
	
	.mainimg__container{
		background: url(../img/top/main_bg_gs_sp.png) no-repeat;
		height: 220vw;
		min-height: auto;
		margin: 0 auto;
		background-size: contain;
		background-position: center bottom 47.82396vw;
	}

	.mainimg__block{
		position: relative;
		top: 8vw;
		left: 0;
		width: auto;
	}

	.scroll_icon{
		display: block;
    width: 50px;
    height: 60px;
    font-size: 12px;
    opacity: 0.9;
    color: #FFF;
    font-family: "Kosugi Maru", sans-serif;
    text-align: center;
    position: absolute;
    left: 50%;
    bottom: 58vw;
    transform: translateX(-50%);
    animation: scrollBar 2s infinite alternate linear;
	}

	.scroll_icon img{
		display: block;
		opacity: 0.8;
		margin-top: 3px;
		filter: drop-shadow(0 0 6px rgba(0, 0, 0, .5));
	}

	@keyframes scrollBar {
	  from {
	  bottom: 58vw
	  }
	  to {
	  bottom: calc(58vw + 15px)
	  }
	}

	/*** section-case ***/
	#body-top .section-case {
	    padding: 45px 0;
	}

	.slider__item{
		width: 50vw;
		min-width: auto;
		font-size: 4.1vw;
		padding: 0.5em;
	}

	.slider__item img{
		margin-bottom: 0.5em;
	}

	.case__container:before{
		display: none;
	}

	#body-top .section-case .link-button{
		width: 90%;
	}

	/*** ブログカード型サムネイル ***/

	.splide__slide{
		width: 50vw !important;
		margin-right: 15px
	}

	.blog-post__wrapper .blog-post--card{
		width: 50vw;
	}

	.blog-post__wrapper .blog-post--card .title{
		font-size: calc(0.875rem + ((1vw - 3.2px) * 2.5));
	}

	.blog-post__wrapper .blog-post--card .content{
		font-size: calc(0.75rem + ((1vw - 3.2px) * 2.5));
	}

	.blog-post__wrapper .blog-post--card .date{
		font-size: 11px;
	}


	/*** section-service ***/
	#section-service.section-service{
		padding: 0;
		background:url(../img/top/service_bg_paint.png) no-repeat top left calc(50% - 150px) ,url(../img/top/service_bg.png), #ffaf5f;
		position: relative;
	}

	#section-service.section-service li{
		width: 100%;
		background-size: 360px;
		background-position: center bottom;
	}

	#section-service .link-button {
    width: 90%;
    left: 5%;
    bottom: 30px;
	}

	#section-service .service_main h2{
		font-size: 92px;
	}

	#section-service.section-service li .link-button{
		width: 90%;
	}

	#section-service .haiku_sub_title {
    height: 104px;
    width: 104px;
    font-size: 18px;
    right: auto;
    left: 100px;
    top: 20px;
	}

	#section-service .haiku_text {
    font-size: 32px;
	}

	#section-service .haiku_text1 {
    top: 100px;
    right: auto;
    left: 130px;
	}

	#section-service .haiku_text2 {
    top: 130px;
    right: auto;
    left: 80px;
	}

	#section-service .haiku_text3 {
    top: 230px;
    right: auto;
    left: 30px;
	}

	/*** section-service_list ***/
	.service_list_wrapper{
		width: 100%;
		max-width: none;
		min-width: auto;
		margin-bottom: 30px;
	}

	#body-top #section-service_list.section-service_list{
		background-image: url(../img/top/service_list_img_sp.png);
		background-size: 100% auto;
		background-repeat: no-repeat;
		background-position: center top calc((1.875rem + ((1vw - 3.2px) * 2.5)) + 84.6vw + -75px);
	}

	#body-top #section-service_list.section-service_list h2 {
	    margin-bottom: 0;
	}

	.service_list_main li{
		width: 46%;
		margin: 0 2%;
	}

	.service_list_main li:nth-of-type(1) {
		float: none;
    left: 50%;
    transform: translateX(-50%);
	}

	.service_list_main li a:before{
		width: 40vw;
		height: 15vw;
		background-size: contain;
		padding: 4vw 0 0;
		font-size: 4.5vw;
		left: 0;
	}

	.service_list_main li:nth-of-type(1) a:before{top:13vw;}
	.service_list_main li:nth-of-type(2) a:before{top:-7vw;}
	.service_list_main li:nth-of-type(3) a:before{top:-3vw;}
	.service_list_main li:nth-of-type(4) a:before{top:-3vw;}
	.service_list_main li:nth-of-type(5) a:before{top:-3vw;}	

	.section-service_list .service_list li {
    width: 48%;
    margin: 0 4% 15px 0;
	}
	.section-service_list .service_list li:nth-of-type(3n) {
	  margin: 0 4% 15px 0;
	}
	.section-service_list .service_list li:nth-of-type(2n) {
    margin: 0 0 15px 0;
	}

	.section-service_list .service_list li a{
		font-size: 4vw;
		background-size: 100% 100%;
		padding: 0 5%;
		height: 20vw;
	}

	/*** section-price ***/

	.price_image{
		width: 100%;
		margin-bottom: 30px;
	}

	.top-price_wrapper {
	  width: 100%;
	}

	.price_left,
	.price_right{
		width: 100%;
		float: none;
	}

	.price_left{
		margin-bottom: 30px;
	}

	.service_price_caption{
		font-size: calc(0.75rem + ((1vw - 3.2px) * 1.875));
	}

	.service_area h3{
		font-size: calc(1.125rem + ((1vw - 3.2px) * 2.5));
	}

	.service_area p{
		font-size: calc(0.875rem + ((1vw - 3.2px) * 2.5));
	}

	.price_contact{
		padding: 10%;
	}

	.price_contact h3{
		font-size: calc(1rem + ((1vw - 3.2px) * 5));
		margin-bottom: 1em;
	}

	.price_contact .price_tel{
		font-size: calc(1.75rem + ((1vw - 3.2px) * 12.5));
		background-size: 7.5vw auto;
		padding: 0 0 0 10vw;
	}

	.price_contact .price_tel_sub{
		font-size: calc(0.875rem + ((1vw - 3.2px) * 2.5));
		margin-bottom: 15px;
	}


/*** section-voice ***/
	.voice_block{
		margin-bottom: 0;
	}

	.voice_img{
		width: 50%;
		position: relative;
		top: 10vw;
		z-index: 1;
	}

	.voice_block:nth-of-type(2n) .voice_img{
		margin-left: auto;
	}

	.voice_text{
		width: 100%;
		padding: 20% 10%;
	}

	.voice_text:before{
		border-bottom: 70px solid #fcfcfc;
		border-right: 40px solid transparent;
		position: absolute;
		top: 0;
		left: auto;
		right: 30%;
		transform: translateY(-50%) skewX(10deg);
	}

	.voice_block:nth-of-type(2n) .voice_text:before{
		border-left: 40px solid transparent;
		border-right: none;
		left: 30%;
		right: auto;
		transform: translateY(-50%) skewX(-10deg);
	}

	.voice_service{
		font-size: calc(0.875rem + ((1vw - 3.2px) * 2.5));
		margin-bottom: 1em;
	}

	.voice_text p{
		margin-bottom: 15px;
	}

	/*** section-flow ***/

	#section-flow .col-5 ul{
		display: block;
	}

	#section-flow .col-5 li{
		width: 100%;
		font-size: calc(1rem + ((1vw - 3.2px) * 5));
		background-size: 100% 100%;
		background-color: transparent;
		border-radius: 0;
		margin-bottom: 30px;
	}

	#section-flow .col-5 li:before{
		right: 50%;
		top: auto;
		bottom: -20px;
		transform: translateX(50%);
		background: transparent;
		width: 0;
		height: 0;
		border-left: 30px solid transparent;
		border-right: 30px solid transparent;
		border-top: 30px solid #FCFCFC;
	}

	#section-flow .col-5 li:last-of-type{margin-bottom: 0;}
	#section-flow .col-5 li:last-of-type:before;{display: none;}

	#section-flow .col-5 li:nth-of-type(6n-5){background-image: url(../img/common/service_list_1.png);}
	#section-flow .col-5 li:nth-of-type(6n-4){background-image: url(../img/common/service_list_2.png);}
	#section-flow .col-5 li:nth-of-type(6n-3){background-image: url(../img/common/service_list_3.png);}
	#section-flow .col-5 li:nth-of-type(6n-2){background-image: url(../img/common/service_list_4.png);}
	#section-flow .col-5 li:nth-of-type(6n-1){background-image: url(../img/common/service_list_5.png);}
	#section-flow .col-5 li:nth-of-type(6n){background-image: url(../img/common/service_list_6.png);}


	/*** サービスページ ***/
	.service_block{
		width: 100%;
		padding: calc(64.5% - 60px) 5% 10%;
		border-radius: 20px;
	}

	.section-service_detail .service_block:before{
		display: none;
	}

	.service_img{
		width: 100%;
		position: absolute;
		top: -60px;
		left: 0;
	}

	.service_img img{
		margin-bottom: 0;
	}

	.section-service_detail .menu_contents{
		margin-bottom: 45px;
	}

	.section-service_detail h2{
		font-size: calc(1.5rem + ((1vw - 3.2px) * 7.5));
	}

	.section-service_detail:first-of-type h2{
		margin-bottom: calc(1em + 60px);
	}

	.h2_sub_title{
		font-size: calc(0.75rem + ((1vw - 3.2px) * 2.5));
	}

	.section-service_detail h4{
		margin-bottom: 5px;
	}

	.section-service_detail .service_recommend{
		font-size: calc(1rem + ((1vw - 3.2px) * 5.625));
	}

	table.service_table th, table.service_table td{
		font-size: calc(0.875rem + ((1vw - 3.2px) * 2.5));
	}

	.section-service_detail strong{
		font-size: calc(1rem + ((1vw - 3.2px) * 5));
	}

	#body-sub .service_list {
	    margin-bottom: 15px;
	}

	#body-sub .section-service_list .link-button{
		margin-top: 15px;
	}

	/*** footer ***/
	.pagetop a{
		width: 90px;
		height: 108px;
		background-size: contain;
	}

	.footer_wrapper{
		padding: 15% 5% 25%;
		color: #FCFCFC;
		text-align: center;
		background-size: 75% auto;
		background-position: left bottom;
	}

	.footer_tel{
		font-size: calc(1.75rem + ((1vw - 3.2px) * 12.5));
		background-size: 7.5vw auto;
		padding: 0 0 0 10vw;
	}

	.footer_tel_sub{
		font-size: calc(0.875rem + ((1vw - 3.2px) * 2.5));
		margin-bottom: 15px;
	}

	.footer_text{
		width: 80%;
		margin: 0 auto;
	}

	.footer_text span{
		font-size: calc(0.8125rem + ((1vw - 3.2px) * 4.375));
	}

	.footer_wrapper .link-button{
		margin-bottom: 30px;
	}

	.pagetop{
		right: 2%;
		bottom: 12.8vw;
	}

	.estimate_btn_sp{
		position: fixed;
    bottom: -1px;
    left: 0;
    transition: .1s;
    z-index: 100;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
	}

	.estimate_btn_sp ul {
	    padding: 0;
	    margin: 0;
	}

	.estimate_btn_sp li:nth-child(1) {
	    width: 16%;
	    padding: 0;
	    margin: 0;
	    float: left;
	    list-style: none;
	}

	.estimate_btn_sp li:nth-child(2),
	.estimate_btn_sp li:nth-child(3) {
	    width: 42%;
	    padding: 0;
	    margin: 0;
	    float: left;
	    list-style: none;
	}

  .estimate_btn_sp li a {
      display: block;
  }

  .estimate_btn_sp li a img {
      width: 100%;
  }

	/* 以下追加 */

	.slidein_l {
    bottom: -150px;
	}

	.slidein_l.slidein_left--on {
    left: 0px;
	}

	.slidein_r {
    bottom: -150px;
	}

	.slidein_r.slidein_right--on {
    right: 0px;
	}

	.textareaFormOuter p{
		text-align: left;
		font-size: 14px;
		width: 100%;
	    margin: 0 0 2px;
	}

	.inputFormOuter{
		text-align: center;
		margin-bottom: 30px;
	}

	.formRight label, .formLeft label{
		text-align: left;
	}

	#section-form .formInput{
		width: 100%;
		margin-bottom: 10px;
	}

	.contactForm textarea {
	    width: 100%;
	    height: 120px;
	}

	div.baloon.right{
		transform: translateY(0px);
	}

	.formRight {
	    transform: translateY(0px);
	}

	.formOuter{
		width: calc(100% - 20px );
	}

	#section-conversion{
		padding:45px 0 0;
	}

	.inputFormOuter{
		margin-bottom: 0px;
	}

	.formOuter{
		margin-bottom: 40px;
	}

	.header-logo img {
		width: 140px !important;
	}

	.thankyouPageTitle{
		margin-top: 50px;
	}

	#footer-section{
		padding: 0;
	}

	#section-form{
		padding: 45px 0;
	}

	.blog .block_wrapper{
		width: 100%;
		padding: 30px 4%;
		box-sizing: border-box;
	}

	.blog .block_wrapper #contents,
	.blog .block_wrapper #sidebar_m{
		width: 100%;
		float: none;
	}

	.blog .block_wrapper #contents{
		margin-bottom: 45px;
	}

	.blog .block_wrapper #contents .blog_item{
		padding: 1.5rem;
		border-radius: 1.5rem;
	}

	.blog .block_wrapper #contents .blog_item h2{
		font-size: calc(1.125rem + ((1vw - 3.2px) * 5));
		line-height: 1.5;	
	}

	.blog .block_wrapper #contents .blog_item .contentBody,
	.blog .block_wrapper #contents .blog_item .item_footer{
		font-size: calc(0.875rem + ((1vw - 3.2px) * 2.5));
	}

	.blog .block_wrapper #contents .item_footer p{
		font-size: calc(0.75rem + ((1vw - 3.2px) * 2.5));
	}

/*一部オレンジ追加の場合
	.pagertitle{
		font-size: 12px;
    background: #f7721e;
    border-radius: 5px;
    padding: 10px;
    color: #FCFCFC;
	}*/

	.pager a, .pager span {
	    padding: 4px 10px;
	    margin-right: 3px;
	}

	.blog .blogmenu_box h2{
		font-size: calc(0.875rem + ((1vw - 3.2px) * 2.5));
	}

	.blog .blogmenu_box a{
		font-size: calc(0.75rem + ((1vw - 3.2px) * 2.5));
	}

}


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

	#contactThankyou .supportNumber{
		font-size: 36px;
	}

	.supportOuter p{
		font-size: 14px;
	}

	.supportNumberText span{
		font-size: 14px;
	}

	.supportNumberText span{
		font-size: 15px;
	}

		.thankyouPageRightImage p:first-child{
		left: 55px;
	}

	.thankyouPageRightImage p:last-child {
		left: 55px;
	}
}