@charset "UTF-8";

/*--- reset */

html {
	overflow-y: scroll; 
	overflow-x: hidden;
	font-size: 62.5%;　/*フォントサイズを10pxに設定*/
}

body,
html {  
    height: 100%;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
figure{
	margin: 0;
	padding: 0;
}
	
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;}

table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size:100%;
}


caption {text-align: left;}

q:before,
q:after {
	content: '';}

object,
embed {vertical-align: top;}

h1,
h2,
h3,
h4,
h5,
h6 {font-size: 100%;}

img,
abbr,
acronym,
fieldset {border: 0;}

img{
	vertical-align: bottom;
	line-height: 0;
}

li {list-style-type: none;}
li img{vertical-align: bottom;}
p{
	text-justify: inter-ideograph;
}

a {color: #0a337f; text-decoration:none;}
a:hover{opacity:0.7;}
.underline{text-decoration:underline;}

/* clearfix */
.clear:before,
.clear:after {
    content: " ";
    display: table;
}

.clear:after {
    clear: both;
}


	
/*hr reset*/
hr {
	border: 0;
	height: 0;
	margin: 0;
	padding: 0;
}
.hr01{
	border-bottom:1px #ccc solid;
}

.fs-letter{letter-spacing:-0.07em !important;}

.f-center{text-align:center !important;}
.f-left{text-align: left !important;}
.f-right{text-align:right !important;}

.fc-white{color: #fff;}
.fc-orange{color: #f7660f;}
.fc-red{ color: #d80c0c;}
.f-bold{font-weight:700;}

.fs-32{font-size: 3.2rem; line-height: 1;}
.fs-60{font-size: 6rem; line-height: 1;}

/*margin*/
.mb20{margin-bottom: 20px;}
.mb40{margin-bottom: 40px;}
/*padding*/

/*iphone reset*/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/*====================================
 default 
====================================*/

body {
	background: #fff;
	color: #1d2e39;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6em;/*14px*/
	line-height: 1.8;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	text-align: left;
}
section{
	position: relative;
}

.container{
	padding: 100px 0;
	margin:0 auto;
	max-width:960px;
	width: 86%;
	position:relative;
}
/* フェードイン用のクラス */
.fadeIn {
    opacity: 1;
}
.en{
	border-radius: 50%;
	border-color: rgba(57,171,255,0.1);
	border-style: solid;
}


@media screen and (min-width: 769px) {
	.pc-none{
		display:none;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/*====================================
 HEADER
====================================*/
h1{
	top: 40px;
	left: 0;
	position: absolute;
	z-index: 1;
}
h1 img{
	width: 170px;
	height: auto;
}


/*====================================
 MAIN
====================================*/
	/* (画像の高さ / 画像の横幅) × 100 */

.main{
	margin-bottom: 50px;
	background: url("../images/main_bg.jpg") no-repeat center top;
	background-size: cover;
	position: relative;
	display: flex;
	align-items: baseline;
}
.main::before{
	width: 100%;
	height: 100px;
	left: 0;
	bottom: -100px;
	background: url("../images/wave_04.png") no-repeat center top;
	background-size: cover;
	content: '';
	position: absolute;
}
.main .container{
	padding:180px 0 0;
}
.main h2{
	top: 50px;
	margin: 0;
}
.main ul{
	display: flex;
	justify-content: center;
}
.main ul li img{
	width: 200px;
	height: auto;
}

/*====================================
 contents
====================================*/
/*animation*/
/**/
.fade-in {
	opacity: 0;
	transition-duration: 1s;
	transition-property: opacity, transform;
}

.fade-in-up {
	transform: translate(0, 50px);
}
.fade-in-left {
	transform: translate(-50px, 0);
}
.fade-in-right {
	transform: translate(50px, 0);
}
.fade-in-down {
	transform: translate(0, -50px);
}

/*scroll-inの位置は命令一番下に置かないと効かない*/
.scroll-in {
	opacity: 1;
	transform: translate(0, 0);
}

.yurayura {
	animation: yurayura 0.5s infinite alternate ease-in-out;
}
@keyframes yurayura {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(5px);
  }
}
.bounce {
  animation: bounce 1s linear infinite;
}
@keyframes bounce {
 0% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
  50% {
    transform: scale(0.95);
    -webkit-transform: scale(0.95);
  }
}


/*H2*/
h2, h3{
	font-weight: 700;
	line-height:1.4;
	text-align:center;
	position: relative;
	letter-spacing: 0.05em;
}
h2{
	font-size:4.6rem;
	margin-bottom: 30px;
}
.sub{
	text-align: center;
}
.sub span{
	padding: 0.5rem 1rem;
	font-size: 2.8rem;
	line-height: 1.2;
	font-weight: 700;
	color: #fff;
	display: inline-block;
	background: #f7660f;
}
h3{
	font-size: 3.8rem;
}
.num{font-family: "Roboto", sans-serif; line-height: 1;}
.bg-dot{
	background: url("../images/bg_dot.gif") repeat;
}
.b-shadow{
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}
/*cta*/
.cta{
	background: #f9c01c;;
	text-align: center;
	position: relative;
	padding: 60px 0;
}
.cta-box{
	padding: 40px;
	margin: 0 auto;
	width: calc(80% - 80px);
	background: #fff;
	border-radius: 20px;
	position: relative;
	z-index: 10;
}
.cta-box::before{
	width: 112px;
	height: 76px;
	background: url("../images/card.png") no-repeat center center;
	background-size: 112px auto;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
	border-radius: 4px;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	content: '';
}
.cta h2{
	margin-bottom: 20px;
	font-size: 3rem;
	line-height: 1.6;
}
.cta h2 .prezent{
	font-size: 3.6rem;
	color: #f7e90f;
	background: #1d2e39;
}
.cta-btn{
	text-align: center;
}
.cta-btn img{
	width: auto;
	height: 100px;
}

/*reason*/
.reason::before,
.step::before,
.voice::before{
	top: -1.5rem;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(240,101,67,0.1);
	font-size: 12rem;
	line-height: 1;
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	position: absolute;
}
.reason::before{
	content: 'REASON';
}
.voice::before{
	content: 'VOICE';
}

/*results*/
.results h2{
	margin-bottom: 10px;
}
.results-ttl{
	margin-bottom: 40px;
	padding: 20px;
	background: #fef4db;
	position: relative;
	z-index: 1;
	border-radius: 20px;
}
.results-ttl::before{
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	background: #fef4db;
	width: 40px;
	height: 20px;
	content: '';
	position: absolute;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
}

.logos ul{
	display: flex;
	justify-content: flex-start;
}
.logos-left ul{
    animation: loop-left 20s linear infinite;
}
.logos-right ul{
    animation: loop-right 15s linear infinite;
}
@keyframes loop-left {
    from {
        transform: translateX(0%);
    }
    to {
        transform: translateX(-100%);
    }
}
@keyframes loop-right {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0%);
    }
}

/*about*/
.about .container{
	padding: 100px 0 0;
	z-index: 10;
}
.about-ttl{
	margin: 0 auto 60px;
	padding: 40px;
	width: calc(90% - 80px);
	font-size: 1.8rem;
	text-align: center;
	border: 3px solid #1d2e39;
	background: #fff;
	border-radius: 20px;
	box-sizing: border-box;
	position: relative;
}
.about-ttl:after, .about-ttl:before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.about-ttl:after {
	border-color: rgba(255, 255, 255, 0);
	border-top-color: #fff;
	border-width: 20px;
	margin-left: -20px;
}
.about-ttl:before {
	border-color: rgba(29, 46, 57, 0);
	border-top-color: #1d2e39;
	border-width: 25px;
	margin-left: -25px;
}
.about-ttl figure{
	margin: -7rem auto 2rem;
}
.about ul{
	display: flex;
	justify-content: center;
	gap: 10px;
}
.about li h3{
	margin: -3rem auto 1rem;
	padding: 0.25rem 0.5rem;
	font-size: 2rem;
	color: #fff;
	background: #000;
	border-radius: 50px;
}
.about li:nth-of-type(1) h3{
	background: #51a1c0;
}
.about li:nth-of-type(1){
	color: #438aa5;
}
.about li:nth-of-type(3) h3{
	background: #c096cc;
}
.about li:nth-of-type(3){
	color: #9662a5;
}
.about li:nth-of-type(1),
.about li:nth-of-type(3){
	padding: 15px;
	line-height: 1.5;
	text-align: center;
	font-weight: 700;
	background: #fff;
	border-radius: 10px;
}

.about li:nth-of-type(1) img,
.about li:nth-of-type(3) img{
	margin-top: 10px;
	width: 140px;
	height: auto;
}

.about-under{
	background: #fef4db;
	position: relative;
}
.about-under h2{
	margin-bottom: 15px;
}
.about-under::before{
	clip-path: polygon(0 0, 0% 100%, 100% 100%);
	height: 100px;
	left: 0;
}
.about-under::after{
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	height: 100px;
	right: 0;
}
.about-under::before,
.about-under::after{
	width: 50vw;
	background: #fef4db;
	content: '';
	position: absolute;
	top: -100px;
}
.about-under figure{
	margin-top: 30px;
}

/*reason*/
.reason-img{
	position: relative;
}
.reason-img::before{
	background: url("../images/reason_man.png") no-repeat left bottom;
	background-size: 144px;
	left: 60px;
}
.reason-img::after{
	background: url("../images/reason_woman.png") no-repeat left bottom;
	background-size: 144px;
	right: 60px;
}
.reason-img::before,
.reason-img::after{
	width: 144px;
	height: 217px;
	content: '';
	position: absolute;
	bottom: -1rem;
}
.reason h2::before{
	width:80px;
	height:58px;
	background: url("../images/reason_crown.png") no-repeat center center;
	background-size: 80px auto;
	top: -110px;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	position: absolute;
}
.reason h2 span{
	font-size: 5.2rem;
}
.reason li{
	position: relative;
}
.reason li::before,
.reason li::after{
	width: 100%;
	height: 100px;
	content: '';
	position: absolute;	
}
.reason li:nth-child(odd){
	background: #fef5ea;
}
.reason li:nth-child(odd)::before{
	top: -100px;
	background: url("../images/wave_01.png") no-repeat center top;
	background-size: cover;
}
.reason li:nth-child(even){
	padding: 140px 0;
	background:#feebd5;
}
.reason li:nth-child(even)::before{	
	top: 0;
	background: url("../images/wave_02.png") no-repeat center top;
	background-size: cover;
}
.reason li:last-child{
	padding: 0 0 60px;
}
.reason-wrap{
	margin: 0 auto;
	max-width: 860px;
	width: 100%;
	position: relative;
}
.reason li:nth-child(even) .reason-wrap::before{
	width: 314px;
	height: 347px;
	background: url("../images/bg1.png") no-repeat 0 0;
	left:-320px;
	top: -150px;
}
.reason li:nth-child(odd) .reason-wrap::before{
	width:283px;
	height: 253px;
	background: url("../images/bg2.png") no-repeat 0 0;
	right:-320px;
	top: -50px;
}
.reason-wrap::before{
	content: '';
	position: absolute;
}
.reason-ttl{
	display: flex;
	justify-content: center;
	align-items: center;
}
.reason figure img{
	width: 260px;
	margin:0 40px;
	height: auto;
}
.reason h3{
	text-align: left;
}
.reason h3 .num{
	padding: 0.25rem 0.5rem;
	font-size: 2.4rem;
	box-sizing: border-box;
	color: #f7660f;
	border: 1px solid #f7660f;
}
.reason .marker{
	font-size: 4.2rem;
	text-decoration: underline;
	text-decoration-thickness: 0.3em; /* 線の太さ */
	text-underline-offset:-0.1em; /* 線の位置 */
	text-decoration-color:#f7e90f;
	text-decoration-skip-ink: none;
	font-weight: bold;
}


/*step*/
.step::before{
	content: 'STEPS';
}
.step .container{
	padding: 100px 0 50px;
}
.step .swiper{
	width: 85%;
}
.step-box{
	width: calc(100% - 50px);
	margin: 0 auto;
	padding: 40px;
	text-align: center;
	border-radius: 20px;
	border:3px solid #f5aa81;
	box-sizing: border-box;
	background: #fff;
}
.step-num{
	margin: 0 auto 20px;
	width: 40px;
	height: 40px;
	font-size: 2.4rem;
	line-height: 1.4;
	text-align: center;
	font-weight: 700;
	color: #1d2e399;
	border: 3px solid #1d2e39;
	background: #fff;
	border-radius: 50%;
	box-sizing: border-box;
}
.step-box figure img{
	width: 130px;
	height: auto;
}
.step-box h3{
	margin: 20px auto;
}
.step-box .num{
	padding: 0.25rem 0.5rem;
	margin-right: 1rem;
	font-size: 2rem;
	color: #fff;
	background: #1d2e39;
	border-radius: 4px;
}

/*mendan*/
.mendan{
	background:url("../images/bg_icos01_pc.png") repeat  #fef4db;
	background-size: 300px auto;
}
.mendan p{
	font-size: 1.8rem;
}
.mendan ul{
	display: flex;
	justify-content:center;
	gap:40px;
}
.mendan li{
	background: #fff;
	border-radius: 20px;
}
.mendan figure{
	border-radius: 20px 20px 0 0;
	padding: 4rem;
	background: #f5f5f5;
}
.mendan img{
	width: 240px;
	height: auto;
}
.mendan h3{
	padding: 4rem 2rem;
	font-size: 2.8rem;
}

/*voice*/
.voice .container{
	padding: 100px 0 40px;
}

/*swiper*/
.voice .swiper-box{
	padding-bottom: 60px;
	background: linear-gradient(0deg, #f8bd9b 0%, #f19367 100%);
}
.voice .swiper{
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
}
.tabbox{
	padding: 10px;
}
.voice .slider-thumbnail .swiper-wrapper{
	padding: 10px;
	margin: 30px 0 0;
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
}
#sana .slider-thumbnail .swiper-wrapper .swiper-slide p{
	padding: 15px 10px;
	color: #fff;
	background: url("../images/arrow-down-white.png") no-repeat right 1rem center rgba(254,244,219,0);
	background-size: 10px auto;	
	font-weight: bold;
	position: relative;
	border-radius: 10px;
	width: 200px;
	cursor: pointer;
}
#sana .slider-thumbnail .swiper-wrapper .swiper-slide.swiper-slide-thumb-active p {
	background: url("../images/arrow-down-black.png") no-repeat right 1rem center rgba(254,244,219,1);
	background-size: 10px auto;	
	color: #1d2e39;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.voice-box{
	margin: 10px 25px;
	padding: 40px;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	border: 3px solid #fff;
	box-sizing: border-box;
	position: relative;
}
.voice-box::before{
	content: '';  
	width: calc(100% - 3px);  
	height: calc(100% - 3px);
	border: solid 1px #bbc0c3;       
	position: absolute;      
	top:50%;  
	left:50%;
	transform: translate(-50%, -50%);
	border-radius: 18px;  
}
.voice-ttl{
	margin-bottom: 40px;
	display: flex;
	align-items: center;
}
.voice-ttl figure{
	margin-right: 40px;
}
.voice-ttl h3{
	font-size: 3.2rem;
	margin-bottom: 20px;
	text-align: left;
}
.voice-ttl h3 span{
	font-size: 2rem;
}
.voice-ttl ul{
	display: flex;
}
.voice-ttl ul li{
	padding: 5px 10px;
	border-radius: 6px;
}
.voice-ttl ul li:first-child{
	background: #f5f5f5;
	margin-right: 1rem;
}
.voice-ttl ul li:last-child{
	background: #fef4db;
}
#sana .swiper-button-next, #sana .swiper-button-prev{
	width: 50px;
	height: 50px;
	color: #fff;
	background: rgba(29,46,57,0.9);
	border-radius: 100px;
}
#sana .swiper-button-next{
	right: 0px;
}
#sana .swiper-button-prev{
	left:0px;
}
#sana .swiper-button-next::after, #sana .swiper-button-prev::after{
	font-size: 1.4rem;
}

/*contact*/
.form{
	background: #f5f5f5;
}
.form .container{
	padding: 100px 0 0;
}


/*====================================
 FOOTER
====================================*/
/*footer*/
footer{
	border-top: 4px solid #000;
	font-size: 1.4rem;
	padding:4rem 0;
	background:#fff;
}
footer .container{
	padding: 0;
	width:700px;
}
footer a{
	text-decoration: underline;
}
footer figure{
	width: 40%;
	margin: 4rem auto;
}
footer .copy{
	font-size: 1.2rem;
	text-align: center;
}
/*pagescroll*/
#scrollUp {
    bottom: 0;
    right: 0;
	z-index: 1000;
}
#scrollUp img{
	opacity: 0.7;
}

/*btm-bnr*/
.finger {
	position: absolute;
	right:225px;
	bottom: 0px;
}
.finger img {
	width: 120px;
}
/*
.fixed{
	left: 0;
	position: fixed;
}
.btm-bnr {
	padding: 1.75rem 0;
	z-index: 100;
    bottom: 0;
    width: 100%;
	background: rgba(0,0,0,0.2);
}
*/
.btm-bnr {
	padding: 1.75rem 0;
    bottom: 0;
    width: 100%;
	background: rgba(0,0,0,0.2);
	position: fixed;
	opacity: 0;
	z-index: 100;
}
.fixed {
	opacity: 1;
}
.btm-bnr .cta-btn{
	margin: 0 0 0 -20px;
}
.btm-bnr p {
	position: relative;
	z-index: 100;
}
.btm-bnr .container{
	width: 960px;
	margin: 0 auto;
	padding:0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.btm-bnr a:hover{
	opacity: 1;
}

.job {
	padding: 80px 0;
	background: linear-gradient(0deg, #f8bd9b 0%, #f19367 100%);
	text-align: center;
}
.job_title {
	background:  #f7660f;
	color: rgba(255,255,255,1.00);
	font-weight: 700;
	font-size: 34px;
	width: 740px;
	margin-left: auto;
	margin-right: auto;
	padding: 6px 0;
}
.job_title_line {
	 background: linear-gradient(transparent 90%, yellow 10%);
}
.job_layout {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 40px;
}
.job_content {
	background: rgba(248,248,248,1.0);
	width: 24.2%;
	padding: 20px 0;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,1.00);
}
.job_content_title {
	font-weight: 700;
	font-size: 18px;
	line-height: 1.4;
}
.job_content_img {
	margin-top: 10px;
	padding: 10px 0;
	background: rgba(255,255,255,1.00);
}
.job_content_img img {
	width: 100%;
}
.job_type {
	font-weight: 700;
	color: #f7660f;
	font-size: 20px;
	margin-top: 10px;
}
.job_area {
	border-top: 1px solid rgba(29,46,57,1.0);
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 6px;
	padding-top: 6px;
}
.job_money {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	font-weight: 700;
}
.job_money_top {
	font-size: 18px;
	background: #f7660f;
	color: rgba(255,255,255,1.0);
	letter-spacing: 0.5em;
	padding: 2px 0;
}
.job_money_under {
	font-size: 30px;
	background: rgba(255,255,255,1.0);
}
.job_money_under_small {
	font-size: 18px;
}
.job_comment {
	width: 88%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 14px;
}
.job_comment_img {
	width: 30px;
}
.job_comment_img img {
	width: 100%;
}
.job_comment_text {
	text-align: left;
	font-weight: 700;
}
.job_link {
	background: #f7660f;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 14px;
	padding: 4px 0;
	margin-top: 20px;
}
.job_link a {
	color: rgba(255,255,255,1.00);
	display: block;
	font-weight: 700;
}
.yurayura {
	animation: yurayura 0.5s infinite alternate ease-in-out;
}
@keyframes yurayura {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(10px);
  }
}
.job_link_btn {
	background: #d80c0c;
	width: 500px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 20px;
	margin-top: 40px;
	text-align: center;
}
.job_link_btn a {
	color: rgba(255,255,255,1.0);
	display: block;
	font-weight: 700;
	font-size: 24px;
	padding: 20px 0;
}