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

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

section#flow02 div.slider_block div.step.step01 div.box{
    border-color: #fec863;
}
section#flow02 div.slider_block div.step.step02 div.box{
    border-color: #c0e298;
}
section#flow02 div.slider_block div.step.step03 div.box{
    border-color: #ffccce;
}
section#flow02 div.slider_block div.step.step04 div.box{
    border-color: #bce9fd;
}
section#flow02 div.slider_block div.step.step05 div.box{
    border-color: #8bdbbb;
}

section#flow02 div.slider_block div.step.step01::after{
    background: #be7554;
}

section#flow02 div.slider_block div.step.step02::after{
    background: #75b598;
}

section#flow02 div.slider_block div.step.step03::after{
    background: #a9526f;
}

section#flow02 div.slider_block div.step.step04::after{
    background: #3c89a7;
}

section#flow02 div.slider_block div.step.step05::after{
    background: #007657;
}

ul.slick-dots {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

ul.slick-dots li.is-current {
    background: #4fc4d7;
}

ul.slick-dots li button {
    width: 100%;
	height: 100%;
    line-height: 0;
    opacity: 0;
}

.slider .step.dummy{
    visibility: hidden;
    pointer-events: none;
}



/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	
	div#mv_block nav.slide_nav li.menu.flow a{
		color: #4fc4d7;
    }
	
	section#flow01 {
		padding-bottom: 4vw;
	}
	
	section#flow01 div.section_inner {
		width: 76%;
		margin: 0 auto;
	}
	
	section#flow01 div.section_inner h2,
	section#flow02 div.section_inner h2{
		margin-bottom: 1em;
	}
	
	section#flow01 div.section_inner p,
	section#flow02 div.section_inner p{
		font-size: 2.0rem;
		font-size: clamp(calc((2.0rem * 0.64)), 1.33vw, 2.0rem);
		font-weight: 700;
		line-height: 2.2;
		letter-spacing: 0.025em;
		text-align: center;
	}
	
	section#role_goal {
		padding: 5.4vw 0 3.6vw;
		background: url("../images/common/bg_blue.jpg") repeat;
		background-size: 250px 2100px;
	}
	
	section#role_goal div.section_inner {
		width: 85.2%;
		margin: 0 auto;
	}
	
	section#role_goal h2{
		margin-bottom: 1.25em;
	}
	
	section#role_goal div.frame {
		overflow: hidden;
		border-radius: 40px;
		background: url("../images/common/bg.jpg") repeat;
		background-size: 250px 2104px;
		padding: 3.3vw 0 5.2vw 1.8%;
		padding: 3.3cqw 0 5.2cqw 1.8%;
	}
	
	section#role_goal div.frame div.block{
		width: 94%;
	}
	
	section#role_goal div.frame div.block figure {
		width: 100%;
		line-height: 0;
	}
	
	section#flow02 {
		padding-top: 10vw;
		padding-bottom: 4vw;
	}
	
	section#flow02 div.section_inner {
		width: 85.2%;
		margin: 0 auto;
	}
	
	section#flow02 div.slider_block {
		margin-top: 5.8vw;
	}
	
	section#flow02 div.slider_block div.step{
		padding: 2.8vw;
		padding: 2.8cqw;
		padding-top: 7vw;
		padding-top: 7cqw;
		position: relative;
	}
	
	section#flow02 div.slider_block div.step::after{
		content: "";
		width: calc(100% - 5.6vw);
		width: calc(100% - 5.6cqw);
		height: calc(100% - 9.8vw);
		height: calc(100% - 9.8cqw);
		display: block;
		position: absolute;
		top: 7.5vw;
		top: 7.5cqw;
		left: 2.8vw;
		left: 2.8cqw;
		border-radius: 1.33vw;
		z-index: 0;
		transform: rotate(5deg);
		background: #000;
	}
	
	section#flow02 div.slider_block div.step.step02::after,
	section#flow02 div.slider_block div.step.step04::after{
		transform: rotate(-5deg);
	}
	
	section#flow02 div.slider_block div.step h5{
		width: 38%;
		height: 13.8%;
		display: block;
		background: url("../images/work_flow/flow_speech.svg") no-repeat;
		background-size: contain;
		position: absolute;
		top: 0;
		left: 2.5%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	section#flow02 div.slider_block div.step h5 span{
		display: inline-block;
		padding-top: 0.6em;
		font-family: "Lato", "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-size: 2.4rem;
		font-size: clamp(calc((2.4rem * 0.64)), 1.6vw, 2.4rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.37em;
		transform: scale(1, 0.7);
	}
	
	section#flow02 div.slider_block div.step div.box{
		border: 0.66vw solid;
		border: 0.66cqw solid;
		border-bottom: none;
		border-radius: 1.33vw;
		overflow: hidden;
		position: relative;
		z-index: 1;
	}
	
	section#flow02 div.slider_block div.step div.box div.text_box{
		width: 86%;
		position: absolute;
		top: 4.5%;
		left: 7%;
		z-index: 3;
	}
	
	section#flow02 div.slider_block div.box div.text_box h4{
		font-size: 2.3rem;
		font-size: clamp(calc((2.3rem * 0.64)), 1.53vw, 2.3rem);
		font-weight: 700;
		line-height: 2.2;
		letter-spacing: 0.05em;
		text-align: center;
		margin-bottom: 0.25em;
	}
	
	section#flow02 div.slider_block div.box div.text_box p{
		font-size: 1.5rem;
		font-size: clamp(calc((1.5rem * 0.64)), 1vw, 1.5rem);
		font-weight: 400;
		line-height: 1.8;
		letter-spacing: 0;
		text-align: left;
	}
	
	.slider {
      width: 100%;
      margin: 0 auto;
    }

    .slider .slick-list {
      overflow: hidden;
    }

    .slider .slick-track {
      display: flex;
      align-items: stretch;
    }

    .slider .slick-slide {
      height: auto;
    }

    .slider .slick-slide > div {
      height: 100%;
    }
	
	ul.slick-dots li{
        width: 18px;
		height: 3px;
		margin: 0 4px;
		border-radius: 25%;
		overflow: hidden;
		background: #dcdddd;
    }
	
	section#flow02 div.slider_block p.scroll {
		font-family: "Lato", "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-size: 1.2rem;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.38em;
		transform: scale(1, 0.7);
		text-align: center;
		line-height: 1;
		margin-top: 1.5em;
	}
	
	section#flow02 div.contact {
		width: 18.27%;
		max-width: 275px;
		margin: 5.7vw auto 0;
	}
	
	section#flow02 div.contact a{
		color: #000;
	}
	
	section#flow02 div.contact a div img{
		display: block;
		transition-duration: 0.5s;
		transition-property: margin-left;
	}
	
	section#flow02 div.contact a:hover div img{
		margin-left: 5%;
	}
	
	section#flow02 div.contact a p{
		font-size: 1.9rem;
		font-size: clamp(calc((1.9rem * 0.64)), 1.26vw, 1.9rem);
		font-weight: 500;
		text-align: center;
		margin-top: 1em;
	}
	

}

@media screen and (min-width:961px) and (max-width: 1500px){
	section#role_goal div.frame {
		border-radius: 2.66vw;
		border-radius: 2.66cqw;
	}
}
	

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	
	.slider .step.dummy{
        padding: 0!important;
    }
	
	section#flow01 {
		padding-bottom: 9.2vw;
	}
	
	section#flow01 div.section_inner {
		width: 96%;
		margin: 0 auto;
	}
	
	section#flow01 div.section_inner h2,
	section#flow02 div.section_inner h2{
		margin-bottom: 1em;
	}
	
	section#flow01 div.section_inner p,
	section#flow02 div.section_inner p{
		font-size: calc(2.4rem * 0.48);
		font-size: clamp(calc((2.4rem * 0.48)), 3.2vw, calc(2.4rem * 1.28));
		font-weight: 700;
		line-height: 2.2;
		letter-spacing: 0.025em;
		text-align: center;
	}
	
	section#role_goal {
		padding: 6.6vw 0 13vw;
		background: url("../images/common/bg_blue.jpg") repeat;
		background-size: 250px 2100px;
	}
	
	section#role_goal div.section_inner {
		width: 100%;
	}
	
	section#role_goal h2{
		margin-bottom: 1.25em;
		text-align: center;
		letter-spacing: 0.1em;
	}
	
	section#role_goal div.frame {
		width: 90%;
		overflow: hidden;
		border-radius: 5.2vw;
		background: url("../images/common/bg.jpg") repeat;
		background-size: 250px 2104px;
		padding: 10vw 0 13vw 0;
		padding: 10cqw 0 13cqw 0;
		margin-left: 4.5%;
		margin-right: 4.5%;
    }

    section#role_goal div.frame .block_wrap {
		width: 90%;
		margin: 0 auto;
    }

    section#role_goal div.frame div.block {
		overflow-x: auto;
		padding-bottom: 10px;
		-webkit-overflow-scrolling: touch;
    }

    section#role_goal div.frame div.block::-webkit-scrollbar {
		height: 4px;
    }

    section#role_goal div.frame div.block::-webkit-scrollbar-track {
		background: #FFF;
    }

    section#role_goal div.frame div.block::-webkit-scrollbar-thumb {
		background: #b9e7ef;
		border: none;
    }

    section#role_goal div.frame div.block figure {
		width: 250%;
		margin: 0;
		line-height: 0;
    }
	
	section#flow02 {
		padding-top: 10vw;
		padding-bottom: 4vw;
	}
	
	section#flow02 div.section_inner {
		width: 85.2%;
		margin: 0 auto;
	}
	
	section#flow02 div.slider_block {
		margin: 12.8vw auto 0;
		width: 76.6%;
	}
	
	section#flow02 div.slider_block div.step{
		padding: 2.8vw;
		padding: 2.8cqw;
		padding-top: 16vw;
		padding-top: 16cqw;
		position: relative;
	}
	
	section#flow02 div.slider_block div.step + div.step {
		margin-top: 8vw;
	}
	
	section#flow02 div.slider_block div.step::after{
		content: "";
		width: calc(100% - 5.6vw);
		width: calc(100% - 5.6cqw);
		height: calc(100% - 18.8vw);
		height: calc(100% - 18.8cqw);
		display: block;
		position: absolute;
		top: 16.5vw;
		top: 16.5cqw;
		left: 2.8vw;
		left: 2.8cqw;
		border-radius: 2.66vw;
		z-index: 0;
		transform: rotate(5deg);
		background: #000;
	}
	
	section#flow02 div.slider_block div.step:nth-child(even)::after{
		transform: rotate(-5deg);
	}
	
	section#flow02 div.slider_block div.step h5{
		width: 40%;
		height: 14.5%;
		display: block;
		background: url("../images/work_flow/flow_speech.svg") no-repeat;
		background-size: contain;
		position: absolute;
		top: 0;
		left: -2.5%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	section#flow02 div.slider_block div.step:nth-child(even) h5{
		background: url("../images/work_flow/flow_speech_re.svg") no-repeat;
		background-size: contain;
		left: initial;
		right: 5%;
	}
	
	section#flow02 div.slider_block div.step h5 span{
		display: inline-block;
		padding-top: 0.6em;
		font-family: "Lato", "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-size: calc(3.1rem * 0.48);
		font-size: clamp(calc((3.1rem * 0.48)), 4.13vw, calc(3.1rem * 1.28));
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.37em;
		transform: scale(1, 0.7);
	}
	
	section#flow02 div.slider_block div.step div.box{
		padding-top: 5vw;
		padding-top: 5cqw;
		border: 1.73vw solid;
		border: 1.73cqw solid;
		border-bottom: none;
		border-radius: 2.66vw;
		overflow: hidden;
		position: relative;
		z-index: 10;
		line-height: 0;
		background: #FFF;
	}
	
	section#flow02 div.slider_block div.step div.box div.text_box{
		width: 86%;
		position: absolute;
		top: 4.5%;
		left: 7%;
		z-index: 3;
	}
	
	section#flow02 div.slider_block div.box div.text_box h4{
		font-size: calc(3.0rem * 0.48);
		font-size: clamp(calc((3.0rem * 0.48)), 4vw, calc(3.0rem * 1.28));
		font-weight: 700;
		line-height: 2.2;
		text-align: center;
		margin-bottom: 0.25em;
	}
	
	section#flow02 div.slider_block div.box div.text_box p{
		font-size: calc(2.3rem * 0.48);
		font-size: clamp(calc((2.3rem * 0.48)), 3.06vw, calc(2.3rem * 1.28));
		font-weight: 400;
		line-height: 1.8;
		letter-spacing: 0;
		text-align: left;
	}
	
	.slider {
      width: 100%;
      margin: 0 auto;
    }

    .slider .slick-list {
      overflow: hidden;
    }

    .slider .slick-track {
      display: flex;
      align-items: stretch;
    }

    .slider .slick-slide {
      height: auto;
    }

    .slider .slick-slide > div {
      height: 100%;
    }
	
	ul.slick-dots li{
        width: 18px;
		height: 3px;
		margin: 0 4px;
		border-radius: 25%;
		overflow: hidden;
		background: #dcdddd;
    }
	
	section#flow02 div.slider_block p.scroll {
		font-family: "Lato", "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		font-size: 1.2rem;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.38em;
		transform: scale(1, 0.7);
		text-align: center;
		line-height: 1;
		margin-top: 1.5em;
	}
}