@charset "UTF-8";
/*====================================
	----------------------------------
		Color
	----------------------------------
	
	Main     : #C02727
  	Accent   : #F3A22D  #142550
 
	----------------------------------
  		font
	----------------------------------
 
	font-family: "tbudrgothic-std", "sans-serif";
	font-weight: 300;
	font-style: normal;

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




/*---------------------------------

  0.Main

---------------------------------*/

#hero_main{
	position: relative;
	background: url("../img/index/bg.png") repeat;
	background-attachment: fixed;
	background-size: contain;
	-webkit-animation: bgroop 200s linear infinite;
    animation: bgroop 200s linear infinite;
}

@-webkit-keyframes bgroop {
    from {
        background-position: 0  0;
    }
    to {
        background-position: -1956px 0;
    }
}
@keyframes bgroop {
    from {
        background-position: 0 0;
    }
    to {
        background-position: -1956px 0;
    }
}

.main_wrap{ position: relative;}

.main_txt{
	text-align: center;
	padding-top: 5%;
	font-family: heisei-kaku-gothic-std,sans-serif;
	font-weight: 900;
	font-style: normal;
	letter-spacing: 0px;
}


.main_catch{
	font-size: 2vw;
	color: #C02727;
    line-height: 1.3em;
	margin: 0;
	position: relative;
}

.main_img{
	width: 57%;
	margin: 0 auto;
}


@media screen and (max-width: 1400px){
	.main_txt{padding-top: 11%;}
}

@media screen and (max-width: 1200px){
	.main_txt{padding-top: 15%;}
}

@media screen and (max-width: 1000px){
	.main_txt{ padding-top: 23%;}
	.main_img{ width: 70%;}
	.main_catch{ font-size: 2.6vw;}
}

@media screen and (max-width: 800px){
	.main_img{ width: 80%;}
	.main_catch{ font-size: 3vw;}
}

@media screen and (max-width: 600px){
	.main_txt{ padding-top: 30%;}
	.main_img{ width: 90%;}
	.main_catch{ font-size: 3.6vw;}
}

@media screen and (max-width: 500px){
	.main_catch{ font-size: 3vw;}
}



/*　見積リンク
====================================*/

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
	font-family: "tbudrgothic-std", "sans-serif";
	font-weight: 900;
	
}

/*背景*/
.btn-wrap {
  margin-top: 40px;
}

a.btn-c {
	width: 50%;
  font-size: 2rem;
  position: relative;
  padding: 1.5rem 4rem;
  color: #000;
  border: 2px solid #000;
  border-radius: 100vh;
  background: #fff100;
  -webkit-box-shadow: 0 5px 0 #e6d900;
  box-shadow: 0 5px 0 #e6d900;
	overflow: hidden;
}


.link_main {
	margin: 0;
	color: #03133F;
}

.link_main span{
	display: block;
	font-size: 25px;
}

a.btn-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
  color: #000;
  background: #fff21a;
  -webkit-box-shadow: 0 2px 0 #e6d900;
  box-shadow: 0 2px 0 #e6d900;
}

.affi-box-button::before {
	content: '';
    position: absolute;
    top: -10px;
    left: -20%;
    width: 40px;
    height: 100%;
    transform: scale(2) rotate(20deg);
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .8) 100%, rgba(255, 255, 255, 0) 0%);
    animation: shiny 10s ease-in-out infinite;
}
@keyframes shiny {
    0% { left: -20%; }
    10% { left: 120%; }
    100% { left: 120%; }
}

/*　左右img
====================================*/

.img_left{
	background: url("../img/index/main01.gif") no-repeat;
	background-size: 100%;
	width: 250px;
	height: 550px;
	position: absolute;
	bottom: 0px;
	left: 50px;
	z-index: 2;
}

.img_right{
	background: url("../img/index/main02.gif") no-repeat;
	background-size: 100%;
	width: 180px;
	height: 540px;
	position: absolute;
	bottom: 0px;
	right: 150px;
	z-index: 2;
}


@media screen and (max-width: 1400px){
	.img_left{ left: 0px; bottom: -50px; width: 19%;}
	.img_right{ right: 100px; bottom: -50px; width: 13%;}
}

@media screen and (max-width: 1200px){
	.img_left{left: 0px; bottom: 100px; height: 430px}
	.img_right{ right: 40px; bottom: 100px; height: 400px}
}


@media screen and (max-width: 900px){
	.img_left{left: -30px; width: 150px; bottom: -50px; z-index: -1}
	.img_right{ right: 0; width: 105px; bottom: -50px; z-index: -1}
	
	.main_box_01{
		bottom: 40px;
		left: 300px;
	}
	.main_box_02{
		bottom: 30px;
		right: 200px;
	}
}

@media screen and (max-width: 700px){
	.img_left{ left: -30px; bottom: -200px; width: 125px;}
	.img_right{ right: -30px; bottom: -195px; width: 85px;}
}

@media screen and (max-width: 500px){
	.img_left{ left: -10px; bottom: -310px; width: 100px;}
	.img_right{ bottom: -286px; width: 70px; right: -12px;}
}

@media screen and (max-width: 480px){
	.main_box_01{
		bottom: 40px;
		left: 300px;
	}
	.main_box_02{
		bottom: 30px;
		right: 200px;	
	}
}

@media screen and (max-width: 400px){
	.img_left{ width: 85px;}
	.img_right{ width: 60px;}
}



/*　anniversary
====================================*/

#hero_main::after{
	content: "";
	background: url("../img/index/th.png");
	width: 170px;
	height: 170px;
	background-size: contain;
	position: absolute;
	bottom: 10px;
	right: 20px;
    animation-name: fuwa;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 1.5s;	
}

@keyframes fuwa {
    0% {
        transform: translate(0,0px);
    }

    100% {
        transform: translate(0,-15px)
    }
}


/*　scroll
====================================*/

.scroll_box{
	width: 4%;
	height: 100px;
	text-transform: uppercase;
	color: #C02727;
	z-index: 1;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.scroll{
	position: absolute;
	bottom: 50px;
	left: 0px;
}

.scroll p{
	font-weight: 900;
}

.down{	
	display: block;
	width: 15px;
	height: 15px;
	border-top: 4px solid #C02727;
	border-right: 4px solid #C02727;
	transform: rotate(135deg);
	transition: all 0.3s;
	margin: 0 auto;
	-webkit-animation: scl 1.5s infinite;
	animation: scl 1.5s infinite;
    position: absolute;
    left: 40%;
    bottom: -25px;	
}


@-webkit-keyframes scl {
  0% {
    -webkit-transform: rotate(135deg) translate(-10px, 10px);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(135deg) translate(0, 0);
    opacity: 0;
  }
}
@keyframes scl {
  0% {
    -webkit-transform: rotate(135deg) translate(-10px, 10px);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(135deg) translate(0, 0);
    opacity: 0;
  }
}

@media screen and (max-width: 1200px){
	a.btn-c, .link_main{ color: transparent;}
	a.btn-c{ background: url("../img/index/link_main.jpeg") no-repeat; background-size: 60%; background-position: center; background-color: #fff100; padding: 20px; width: 65%;}
	a.btn-c:hover{background: url("../img/index/link_main.jpeg") no-repeat; background-size: 60%; background-position: center; background-color: #fff100;}
}

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

@media screen and (max-width: 1000px){
	.link_main{ line-height: 30px;}
	#hero_main::after{ width: 150px; height: 150px; bottom: 0;}
}


@media screen and (max-width: 800px){
	a.btn-c{ width: 80%;}
	#hero_main::after{ width: 110px; height: 110px;}
}

@media screen and (max-width: 650px){
	a.btn-c{padding: 15px; font-size: 0;}
}

@media screen and (max-width: 600px){
	#hero_main::after{ width: 100px; height: 100px; right: 0; z-index: 2;}	
}

@media screen and (max-width: 500px){
	.link_main{ line-height: 15px;}
	.down{ width: 10px; height: 10px;}
	.scroll{ font-size: .8em;}
}

@media screen and (max-width: 450px){
	#hero_main::after{ width: 80px; height: 80px;}	
}

@media screen and (max-width: 400px){
	a.btn-c{ padding: 5px;}
	#hero_main::after{ bottom: 0;}
}


/*---------------------------------

  contents01 

---------------------------------*/

#contents01{
	padding-top: 50px;
}

.index_bnr_wrap{
	margin-bottom: 50px;
	display: flex;
}

.index_bnr_wrap a:first-child{ margin-right: 30px;}
.index_bnr_wrap a{transition: .2s}
.index_bnr_wrap a:hover{opacity: .6}

#contents01 .manzoku{
	width: 60%;
	margin: 0 auto;
}

@media screen and (max-width: 800px){
	#contents01 .manzoku{ width: 80%;}
	.index_bnr_wrap{display: block;}
	.index_bnr_wrap a{ margin: 0 auto; width: 80%;}
	.index_bnr_wrap a:first-child{ margin: 0 auto 30px auto;}
}

@media screen and (max-width: 500px){
	#contents01 .manzoku{ width: 90%;}
	.index_bnr_wrap a{ width: 90%;}
}

/*---------------------------------

  contents02

---------------------------------*/

#contents02{
	position: relative;
	display: flex;
	align-items: center;
	padding: 30px 0;
	flex-wrap: wrap;
}

.recruit_img{
	position: relative;
	width: 40%;
}

.recruit_img img{
	width: 60%;
	margin-left: auto;
}

.recruit_img::after{
	content: "RECRUITMENT";
	text-transform: uppercase;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	color: #C02727;
	font-size: 2.5rem;
	font-weight: 900;
	position: absolute;
	top: 0;
	left: 100px;
}

.recruit_txt{
	padding: 50px 0 50px 50px;
	width: 60%;
}

.recruit_txt .tit1{
	line-height: 50px;
}

.recruit_txt a{
	margin-left: 10px;
}

.sub_tit{
	padding-left: 10px;
}

@media screen and (max-width: 1250px){
	.br_none_recruit{ display: none;}
	.recruit_img{ width: 35%;}
	.recruit_img img{ margin: auto;}
	.recruit_img::after{ left: 10%; font-size: 2.5vw;}
	.recruit_txt{ padding: 50px 0; width: 65%;}
}
@media screen and (max-width: 1000px){
	.recruit_img img{ width: 80%;}
	.recruit_img::after{ left: 0;}
}

@media screen and (max-width: 800px){
	.recruit_img, .recruit_txt{ width: 100%;}
	.recruit_img img{width: 40%;}
	.recruit_txt{ padding: 0; text-align: center;}
	/*.br_none_recruit{ display: block;}*/
	.recruit_img::after{ left: 5%; font-size: 2.5em;}
}

@media screen and (max-width: 500px){
	.recruit_txt .tit1{ line-height: 1.5em;}
	.recruit_txt .tit1 span{ margin-bottom: 0;}
	.br_none_recruit{ display: none;}
	.recruit_br_sp{ display: none;}
	.recruit_img::after{ left: 0; font-size: 1.8em; letter-spacing: 1px;}
	.recruit_txt .tit1 span{ letter-spacing: 2px;}
}

/*---------------------------------

  contents03 voice

---------------------------------*/

#contents03{
	padding: 50px 0 100px 0;
	background-color: #FFF;
	position: relative;
}

#contents03 h2{
	text-align: center;
}

.voice{
	width: 100%;
	height: 80vh;
	border: none;
	border: #000 solid 5px;
	border-radius: 20px;
}

#contents03::after{
	content: "";
	background: url("../img/index/reviewimg01.png") no-repeat;
	position: absolute;
	bottom: -100px;
	left: 50px;
	width: 350px;
    height: 300px;
    background-size: contain;
	z-index: 1;
}

.voice_txt{
	text-align: center;
	padding: 40px;
	margin: 0;
	font-weight: bold;
	font-size: 18px;
	position: relative;
}

.voice_txt::before{
	content: "";
	background: url("../img/index/review1.png") no-repeat;
	background-size: 100%;
	width: 150px;
	height: 200px;
	position: absolute;
	left: 100px;
	bottom: 0;
}

.voice_txt::after{
	content: "";
	background: url("../img/index/review.png") no-repeat;
	background-size: 100%;
	width: 150px;
	height: 200px;
	position: absolute;
	right: 100px;
	bottom: 0;
}

@media screen and (max-width: 1200px){
	.voice_txt::before{ left: 20px;}
	.voice_txt::after{ right: 20px;}
}

@media screen and (max-width: 1050px){
	.voice_txt{ padding: 40px 170px;}
	.voice_txt::before{ width: 120px; height: 170px;}
	.voice_txt::after{ width: 120px; height: 170px;}
	.br_none_voice{ display: none;}
	#contents03::after{ width: 270px; height: 230px; left: 20px;}
}
@media screen and (max-width: 750px){
	.voice_txt{ padding: 20px 40px 110px 40px;}
	.voice_txt::before{ width: 80px; height: 110px;}
	.voice_txt::after{ width: 80px; height: 110px;}
}
@media screen and (max-width: 600px){
	#contents03::after{ width: 220px; height: 215px;}
}


/*---------------------------------

  contents04 REASON

---------------------------------*/


/*---------------------------------

  contents05 PLAN

---------------------------------*/

#contents05{
	padding-bottom: 100px;
	position: relative;
	background-color: #FFF;
	padding: 50px 0 100px;
}

#contents05 .tit1{
	text-align: center;
}

.plan_box{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	padding-top: 100px;
}

.plan_inner{
	position: relative;
	border: #333 3px solid;
    border-radius: 20px;
    padding: 20px;
    width: 24%;
	text-align: center;	
}

.plan_inner img{
	margin: -100px auto 0 auto;
}

.plan1{}
.plan2{}
.plan3{}
.plan4{ margin-bottom: 40px!important;}

.plan_inner h3{
	font-weight: 900;
	font-size: 27px;
	margin-bottom: 0;
}

.plan_inner p{
	letter-spacing: 2px;
	border-bottom: #000 3px dashed;
    padding-bottom: 10px;
}

.plan_subtxt{
	font-size: 14px;
	border: none!important;
}

.reason,
a.reason,
button.reason {
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.5;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
	margin: 50px auto 0 auto;
	width: 60%;
}

.reason .tit1{
	font-size: 2rem;
}

a.reason-border-shadow {
  padding: calc(1.5rem - 12px) 3rem 1.5rem;

  background: #fff;
}

a.reason-border-shadow:before {
  position: absolute;
  top: -6px;
  left: -6px;

  width: 100%;
  height: 100%;

  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;

  border: 3px solid #000;
  border-radius: 0.5rem;
}

a.reason-border-shadow:hover {
  padding: calc(1.5rem - 6px) 3rem;
}

a.reason-border-shadow:hover:before {
  top: 0;
  left: 0;
}

a.reason-border-shadow--color {
  border-radius: 0;
  background: #FFEC55;
}

a.reason-border-shadow--color:before {
  border-radius: 0;
}

@media screen and (max-width: 1150px){
	.reason, a.reason, button.reason{width: 70%;}
}

@media screen and (max-width: 1100px){
	.plan1{ width: 74%;}
	.plan_inner p{ line-height: 1.5em}
}

@media screen and (max-width: 1000px){
	.reason, a.reason, button.reason{width: 83%;}
}

@media screen and (max-width: 800px){
	#contents02{ padding: 0 0 50px 0;}
	.plan_box{ padding-top: 0;}
	.plan_inner{ width: 46%; margin-top: 100px;}
	.plan1{ width: 19vh;}
	.reason .tit1{ font-size: 1em;}
	.tit1 span{ font-size: .8em;}
	.reason, a.reason, button.reason{ width: 90%;}
}
@media screen and (max-width: 600px){
	.plan_inner{ width: 80%;}
}
@media screen and (max-width: 500px){
	a.reason-border-shadow{ padding: 20px;}
	
}
@media screen and (max-width: 400px){
	.plan_inner{ width: 90%;}
}




/*---------------------------------

  Loop Slide

---------------------------------*/

#gallery{
	margin: 50px auto;
}

.loopSlider{
	height: 230px;
	overflow: hidden;
	position: relative;
}
.loopSlider .loopslider_wrap{
	height: 230px;
	display: -webkit-flex;
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
}
.loopSlider .loopslider_wrap ul{
	display: -webkit-flex;
	display: flex;
	align-items: center;
}
.loopSlider .loopslider_wrap ul li{
	width: 324px;
}


.loopslider_wrap img{
	width: 100%;
}



@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  35% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  35.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  70%, 100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.cover{
	position: relative;
	z-index: 1;
	width: 100%;
	background-color: #fff;
}



@media screen and (max-width: 480px){
}
/*---------------------------------

  WP

---------------------------------*/

.wpcr3_table_2 { text-align:left; width:100%; background-color: #FFF; }

.wpcr3_button_1 {
	font-size: 18px;
    border: #C02727 solid 3px;
    border-radius: 16px;
    padding: 1em 4em;
    background: #fff;
    color: #C02727;
	transition: .2s;
	cursor:pointer;
	display: inline-block;
	font-weight: bold;
	outline: 0;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	float:none;
	height:auto;
	text-indent:0;
	margin-bottom: 15px;
 }

.wpcr3_button_1:hover {
	border-color: #C02727;
    color: #fff;
    cursor: pointer;
    font-weight: normal;
    background: #C02727;
}

.wpcr3_button_1:active, .wpcr3_button_1:focus {
	border-color: #C02727;
    color: #fff;
    cursor: pointer;
    font-weight: normal;
    background: #C02727;
}


