/*--------------------------------------------------------
テキスト系CSS
--------------------------------------------------------*/
html{
	font-size:15px;
	color:#606060;
	letter-spacing: 0.05em;
	line-height: 1.7;/* %で指定すると子や孫にも本要素で「計算後の実値」が継承されてしまうため、単位無しで指定 */
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
}
p{
	margin-top:0px;
	margin-bottom:15px;
}
@media only screen and (min-width: 738px){
	p{
		margin-bottom:20px;
	}
}
p.line_height_big{
	line-height: 195%;
}
a{
	color: #5193f7;
    text-decoration: none;
}
h2{
	margin-top:90px;
	margin-bottom:35px;
	font-size:20px;
	text-align:center;
}
@media only screen and (min-width: 738px){
	h2{
		margin-bottom:45px;
		font-size:24px;
	}
}
h2.with_subtitle{
	margin-top:0px;
}
h3{
    font-size: 18px;
    margin-top: 35px;
    margin-bottom: 15px;
    font-weight: bold;
    color: #606060;
}
@media only screen and (min-width: 738px){
	h3{
		margin-top:45px;
		margin-bottom:25px;
		font-size:22px;
	}
}
h3 i{
    color: #ea9c2e;
}
/* 数字つきヘッダ */
h3.with_number{
	vertical-align: bottom;
	margin-bottom:0px;
}
h3.with_number.margin_top_small{
	margin-top:15px;
}
h3.with_number .number{
    color: #5193f7;
    font-size:120%;
    margin-right:5px;
}
h3.with_number .number .big{
    font-size:200%;
}
span.highlight{
	font-size: 130%;
	margin:0 5px;
	position:relative;
}
span.highlight::before {
    position: absolute;
    top: -10px;
    right: -14px;
    width: 25px;
    height: 16px;
    content: '';
}
@media only screen and (min-width: 738px){
	span.highlight::before {
	    top: -22px;
	    right: -26px;
	    width: 50px;
	    height: 32px;
	}
}
span.highlight.yellow::before{
	background:url("img_h2_deco_yellow.png") no-repeat center/contain;
}
span.highlight.blue::before{
	background:url("img_h2_deco_blue.png") no-repeat center/contain;
}
span.yellow{
	color:#ea9c2e;
}
span.blue{
	color:#5193f7;
}
span.highlight_yellow {
    font-size: 130%;
    margin: 0 5px;
    position: relative;
    color: #ea9c2e;
}
.bold{
	font-weight:bold;
}
.left{
	text-align:left;
}
i{
	margin-right: 0.4em;
}
strong.dashed {
    border-bottom: dashed 2px #5193f7;
}
span.small_font{
	font-size:13px;
}
/*--------------------------------------------------------
共通CSS
--------------------------------------------------------*/
*,*:before, *:after{
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}
.last_margin_bottom{
	margin-bottom:15px;
}
@media only screen and (min-width: 738px){
	.last_margin_bottom{
		margin-bottom:20px;
	}
}
.last_margin_bottom_none{
	margin-bottom:0px!important;
}
.last_margin_bottom_middle{
	margin-bottom:50px;
}
.last_margin_bottom_big{
	margin-bottom:75px;
}
.center{
	text-align:center;
}
.button{
	text-align:center;
}
/* 写真の角を丸くする */
/* imgタグを↓この要素で囲むと角丸の写真になる */
div.image_frame {
    overflow: hidden;
    border-radius: 12px;
}
img{
    vertical-align:top;
}
@media only screen and (min-width: 738px){
	.display_none_pc{
		display:none;
	}
}
.clearfix {
    clear: both;
}
ul,
ol {
	padding:0px;
    margin: 0 0 0 25px;
}
ul li,
ol li{
	padding: 4px 0;
}
ul li:nth-child(1){
	margin-top: -4px;/* 最初を調整 */
}
.img_box img{
	width:50%;
}
/*--------------------------------------------------------
■ SP版でのみ表示／PC版でのみ表示
--------------------------------------------------------*/
.only_sp_block{
	display:block;
}
@media only screen and (min-width: 738px){
	.only_sp_block{
		display:none;
	}
}
.only_pc_block{
	display:none;
}
@media only screen and (min-width: 738px){
	.only_pc_block{
		display:block;
	}
}
/*--------------------------------------------------------
アニメーションCSS
--------------------------------------------------------*/
/* 下から */

.fade_up{
animation-name:fade_up_anime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

/* @keyframes fadeUpAnime{ */
@keyframes fade_up_anime{
	from {
		opacity: 0;
		transform: translateY(20px);/*  ふわっと上がってくるアニメーション*/
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/*--------------------------------------------------------
各ブロックの要素
--------------------------------------------------------*/
body.landing_body{
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}
body.landing_body .hidden{
	overflow-x:hidden;/* iosでhiddenが効かなかったためこちらを適用 */
}
body.landing_body.no_scroll{
	overflow: hidden;
}
#main{
    margin-top: 80px;
}
@media only screen and (min-width: 738px){
	#main{
	    margin-top: 63.5px;
	}
}
#content{
    margin: 0 5px;
    width: initial;
    max-width: 960px;
    max-width: 1100px;
}
@media only screen and (min-width: 738px){
	#content{
	    margin: 0 auto;
	}
}
@media only screen and (min-width: 738px) and (max-width: 1116.999px){
	#content{
	    padding:0 40px;/* ミディアムサイズはpadding小さく */
	}
}
/*--------------------------------------------------------
header
--------------------------------------------------------*/
header.header_sp{/*  backgroundはjsで制御している*/
	width:100%;
	position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    padding:15px;
}
header.header_sp .header_sp_item{
	display:flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1600px;
	margin: 0 auto;
}
header.header_sp .header_sp_item .header_logo{
	width: 55.5vw;
}
header.header_sp .header_sp_item .header_logo img.title {
     max-height: 20px;
     vertical-align: bottom;/* header下部の不要なすき間を無くす */
}
header.header_pc{
	width:100%;
	position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    padding:15px;
}
header.header_pc .header_pc_item{
	display:flex;
	align-items: center;
	justify-content: space-between;
	width:100%;
	max-width: 960px;
	max-width: 1100px;/* 【丹澤確認】 */
	margin: 0 auto;
}
header.header_pc .header_pc_item .header_logo a{
		display:flex;
	align-items: center;
	justify-content: center;
}
header.header_pc .header_pc_item .header_logo img.title {
     max-height: 22px;
     vertical-align: bottom;/* header下部の不要なすき間を無くす */
}
@media only screen and (min-width: 1117px){
	header.header_pc .header_pc_item .header_logo img.title {
	     max-height: 26px;
	}
}
header.header_pc .header_pc_item .header_nav{
	width: 100%;
	position: relative;
}
header.header_pc .header_pc_item .header_nav ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
     list-style:none;
     margin-left:0px;
}
header.header_pc .header_pc_item .header_nav ul li{
	margin-top: 0px;
	    text-align:center;
}
header.header_pc .header_pc_item .header_nav ul a {
    color: #606060;
    padding: 5px;
    margin: 0 10px;
    position: relative;
}
/*--------------------------------------------------------
ハンバーガーメニュー
--------------------------------------------------------*/
body::before {/* ハンバーガメニュークリック時に背景を固定する */
	background-size: 100% auto;
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-bottom: 108px;
	content: "";
	z-index: -1;
}
header.header_sp .ham_menu{
    background-color: #fff;
    box-sizing: border-box;
    height: 100%;
    padding: 0px; /*メニュー内左右上下余白*/
    position: fixed;
    right: -300px; /*メニュー横幅 width と合わせる*/
    top: 0;
    transition: .2s ease-in-out;
    width: 300px;
    z-index: 1000;
}
header.header_sp .ham_menu ul{
	list-style:none;
	margin-left:0px;
}
header.header_sp .ham_menu ul li{
	border-bottom:1px #e8f1ff dashed;
	width:300px;
	margin:0 20px;
}
header.header_sp .ham_menu ul li a{
	color:#606060;
	display:block;
	font-size:16px;
	width:100%;
	height:100%;
	padding:14px 0;
}
header.header_sp .menu_background {
    background-color: #333; /*黒背景*/
    display: none;/* jsでdisplayを制御 */
    height: 100%;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: .2s ease-in-out;
    width: 100%;
    z-index: -1;
}
header.header_sp .menu_icon {
    color: #808080;
    cursor: pointer;
    display: block;
    height: 50px;
    line-height: 50px;  /*縦位置中央*/
    text-align: center;
    width: 50px;
    transition: .2s ease-in-out;
    z-index: 1000;
}
header.header_sp .menu_icon::before {
	font-family:'Font Awesome 6 Pro';
	content: '\f0c9';
	font-size: 32px;
}
header.header_sp .menu_cb:checked ~ label#menu_icon::before {
	content: '\f00d';
	color: #fff;
}
header.header_sp .menu_cb {
    display: none; /*チェックボックス本体は消しておく*/
}
header.header_sp .menu_cb:checked ~ #ham_menu,
header.header_sp .menu_cb:checked ~ #menu_icon {
    transform: translate(-300px); /*メニュー本体横幅 width と合わせる*/
}
header.header_sp .menu_cb:checked ~ #menu_background {
    opacity: 0.5;
    z-index: 999;
}
@media only screen and (max-width: 320px){/* iphone5/se用 */
	header.header_sp .ham_menu {
		right: -240px;
		width: 240px;
	}
	header.header_sp .ham_menu ul li{
		width:240px;
	}
	header.header_sp .ham_menu ul li a{
	font-size:14px;
}
	header.header_sp .menu_cb:checked ~ #ham_menu,
	header.header_sp .menu_cb:checked ~ #menu_icon {
    transform: translate(-240px); /*メニュー本体横幅 width と合わせる*/
	}
}
/*--------------------------------------------------------
ファーストビュー
--------------------------------------------------------*/
.first_view{
	margin-bottom:30px;
	position:relative;
}
.first_view .first_view_item{
	max-width:1300px;
	width:100%;
	margin:0 auto;
	position:relative;
}
.first_view .first_view_item .first_view_copy{
	position:absolute;
	z-index:10;
	margin:0px;
	top:1vh;
	left:3vw;
	width:20%;
	min-width:80px;
	max-width:230px;
}
.first_view .first_view_item .first_view_copy .first_view_copy_img{
	display:inline-block;
	vertical-align:top;
}
.first_view .first_view_item .first_view_copy img{
	width:100%;
	margin:0px;
}
.first_view .first_view_item .first_view_main{
	position:relative;
	left:20%;
	width:80%;
}
@media only screen and (min-width: 738px){
	.first_view .first_view_item .first_view_main{
		width:80%;
	}
}
.first_view .first_view_item .first_view_main img{
	width:100%;
	height:auto;
	max-width:980px;
}
.first_view .first_view_item .first_view_sub{
	width:40%;
	position:relative;
	left:0%;
	bottom:6vh;
}
.first_view .first_view_item .first_view_sub img{
	width:100%;
}
.bg_circle{
	position:absolute;
}
.bg_circle img{
	width:100%;
}
.first_view .bg_circle.first_view_blue{
	top:-17%;
	width:55%;
	z-index:-2;
}
.first_view .bg_circle.first_view_red{
	top:35%;
	left:-20%;
	width:50%;
	z-index:-1;
}
.first_view .bg_circle.first_view_blue_2{
	bottom:-16%;
	right:-19%;
	width:39%;
	z-index:-2;
}
.first_view .bg_circle.first_view_yellow{
	bottom:6%;
	right:-4%;
	width:68%;
	z-index:-2;
}
.first_view .bg_circle.first_view_green{
	top:-20%;
	right:-2%;
	width:40%;
	z-index:-2;
}
@media only screen and (min-width: 738px){
	.first_view .bg_circle.first_view_blue{
		top:-17%;
		left:2%;
		width:48%;
	}
	.first_view .bg_circle.first_view_red{
		top:33%;
		left:-5%;
		width:30%;
	}
	.first_view .bg_circle.first_view_blue_2{
		bottom:-4%;
		right:-13%;
		width:34%;
	}
	.first_view .bg_circle.first_view_yellow{
		bottom:6%;
		right:5%;
		width:58%;
	}
	.first_view .bg_circle.first_view_green{
		top:-8%;
		right:-2%;
		width:43%;
	}
}
@media only screen and (min-width: 1300px){
	.first_view .bg_circle.first_view_blue{
		top:-20px;
		left:10px;
		width:430px;
	}
	.first_view .bg_circle.first_view_red{
		bottom:100px;
		left:-10px;
		width:340px;
	}
	.first_view .bg_circle.first_view_blue_2{
		bottom:114px;
		right:-28px;
		width:310px;
	}
	.first_view .bg_circle.first_view_yellow{
		bottom:114px;
		right:212px;
		width:645px;
	}
	.first_view .bg_circle.first_view_green{
		top:-63px;
		right:23px;
		width:486px;
	}
}
/*--------------------------------------------------------
社長からのメッセージ
--------------------------------------------------------*/
.ceo_message {
	height: 100%;
	width: 100%;
	text-align: left;
	display: flex;
	justify-content: center;
	align-items: center;
	position:relative;
	z-index: 1;
}
.ceo_message .content_block {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;/* 要素を縦に並べる */
    max-height:100%;
    width:100%;
    margin-top:auto;
    margin-bottom:auto;
}
.ceo_message .content_top{
	box-sizing: border-box;
    width: 100%;
    margin: 0px;
    position: relative;
}
@media only screen and (min-width: 738px){
	.ceo_message .content_top{
		border-radius: 27px 27px 0 0;
	}
}
.ceo_message .content_top .ceo_message_title{
	text-align:center;
	margin-top:10px;
}
.ceo_message .content_top .message_img_block{
	display:flex;
	align-items: end;
	margin-top:auto;
	justify-content: center;
	padding:10px 10px 0 10px;
	margin:0 -5px;
	box-sizing:border-box;
	position:relative;
}
.ceo_message .content_top .message_img_block .small_message{
	max-width:calc(100% - 100px);
	margin-top:auto;
	display:flex;
	gap:10px;
	align-items:flex-start;
	flex-direction: column;
	margin-bottom:10px;
	position:absolute;
	left:10px;
	bottom:0;
}
.ceo_message .content_top .message_img_block .small_message .line{
	display:inline-block;
	background:#99c2ff;
	background:rgba(153,194,255,0.8);
	color:#fff;
	padding:5px;
	font-weight:bold;
}
.ceo_message .content_top .message_img_block .ceo_img{
    width:65%;
    max-width:380px;
}
.ceo_message .content_top .message_img_block .ceo_img img{
	width:100%;
	vertical-align: top;
}
.ceo_message .content_bottom{
	width: 100%;
	margin: 0px;
	padding:15px;
	background:#e8f1ff;
	border-radius: 10px;
}
@media only screen and (min-width: 738px){
	.ceo_message .content_bottom{
	    border-radius:27px;
	    margin-bottom:10px;
	}
}
.ceo_message .content_top .close_btn{
	position: absolute;
    right: 10px;
   	top:10px;
    color: #fff;
    font-size: 32px;
    background: none;
    border: none;
    cursor: pointer;
    border-radius:50%;
    width:50px;
    height:50px;
    background:#99c2ff;
}
.ceo_message .content_top .close_btn i{
	margin-right:0px;
}
.ceo_message .content_bottom .job_name{
	text-align:center;
	font-size:15px;
}
.ceo_message .content_bottom .name{
	text-align:center;
	font-size:18px;
	font-weight:bold;
	margin-bottom:2px;
}
.ceo_message .content_bottom .name_en{
	text-align:center;
	font-size:14px;
	font-weight:bold;
	color:#5193f7;
}
.ceo_message .content_bottom .ceo_message{
	line-height: 37px;
	background-image: radial-gradient(circle farthest-side,#5193f7,#5193f7 1px,transparent 1px,transparent);
	background-position: 0 17px;
    background-size: 5px 37px;
    margin-bottom:0px;
}
.ceo_message .bg_circle.ceo_circle_green{
	bottom:-18%;
	left:-20%;
	width:58%;
	z-index:-2;
}
.ceo_message .bg_circle.ceo_circle_blue{
    top:-8%;
    right:-14%;
    width:58%;
    z-index:-2;
}
@media only screen and (min-width: 738px){
	.ceo_message .bg_circle.ceo_circle_green{
		bottom:-6%;
		left:9%;
		width:30%;
		z-index:-2;
	}
	.ceo_message .bg_circle.ceo_circle_blue{
		top:-13%;
		right:6%;
		width:34%;
		z-index:-2;
    }
}

/* ------------------------------------------------------
特徴スワイパー
-------------------------------------------------------- */
.feature_swiper{
	width:100%;
	position:relative;
}
.feature_swiper .swiper_main{
	width:100%;
	overflow: scroll;
	position: relative;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	-ms-overflow-style: none;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
@media only screen and (min-width: 738px){
	.feature_swiper .swiper_main{
		border-radius:10px;
	}
}
.feature_swiper .swiper_wrapper{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	position: relative;
	z-index: 1;
	gap:30px;
	height: 100%;
	width:auto;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property:transform, -webkit-transform;
	transition: ease-out 0.1s;/* 【丹澤確認】実機で確認 */
 	-webkit-transform: translate3d(0px, 0, 0);
    transform: translate3d(0px, 0, 0);
}
.feature_swiper .swiper_item{
	box-sizing:border-box;
	border-radius:20px;
	padding:0px;
    position: relative;
    width: calc(100% - 60px);
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
     text-align: center;
    flex-shrink: 0;/* 要素を縮めないため */
	display: flex;
	align-items:center;
	flex-direction: column;/* 要素を縦に並べる */
	background:#ffffff;
	box-shadow: 8px 8px 16px 0px rgba(0,0,0,.05);
	margin-bottom:50px;/* box-shadowがバツっと消えないようにするため必要 */
	scroll-snap-align: start;/* スワイプの先端にピタッと合わせる */
	scroll-snap-stop: always;/* スワイプが通り過ぎるのを防ぐ */
}
.feature_swiper .swiper_item:last-child{
	scroll-snap-align: end;/* 最後要素のみスワイプの右端にピタッと合わせる */
}
.feature_swiper .bg_circle.feature_circle_blue{
	bottom:-23%;
	left:-20%;
	width:58%;
	z-index:-2;
}
.feature_swiper .bg_circle.feature_circle_yellow{
	top:-23%;
	right:-20%;
	width:58%;
	z-index:-2;
}
.feature_number{
	display:flex;
	align-items: center;
    justify-content: center;
    width:49px;
    margin:-19.5px auto 10px;
}
.feature_number img{
	width:100%;
}
.feature_text{
    box-sizing: border-box;
    width: 100%;
    height: auto;
    padding: 0 10px 10px 10px;
}
.feature_title{
    color:#5193f7;
    font-weight:bold;
    margin-bottom:5px;
}
.feature_description{
    margin-bottom:0px;
}
.image_frame_only_top_radius{
    overflow: hidden;
    border-radius: 20px 20px 0 0;
}
.image_frame_only_top_radius img{
	width:100%;
	height:auto;
	vertical-align: top;
}
/*--------------------------------------------------------
特徴（PC版）
--------------------------------------------------------*/
.pc_feature_list{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    position:relative;
}
.pc_feature_item {
    box-sizing: border-box;
    padding: 0px;
    border-radius: 20px;
    display: flex;
    text-align: center;
    position: relative;
    flex-direction: column;
    background: #fff;
    box-shadow: 8px 8px 16px 0px rgba(0,0,0,.05);
    width: calc((100% - 30px)/3);
    margin-right: 15px;
    margin-bottom: 15px;
}
.pc_feature_item:nth-of-type(3n) {
    margin-right: 0px;
}
.pc_feature_list .bg_circle.feature_circle_blue{
	bottom:-37%;
	left:-20%;
	width:48%;
	z-index:-2;
}
.pc_feature_list .bg_circle.feature_circle_yellow{
	top:-50%;
	right:-13%;
	width:58%;
	z-index:-2;
}
/*--------------------------------------------------------
* hiddenボタン
--------------------------------------------------------*/
.hidden_btn .hidden_btn_label {/*ボタン装飾*/
    color:#fff;
    background:#99c2ff;
    font-weight: bold;
    text-align: center;
    padding: 15px;
    cursor: pointer;
    border-radius: 10px;
    position:relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    margin:0 auto;
 	box-sizing:border-box;
 	font-size:17px;
 	margin-bottom:20px;
}
.hidden_btn .hidden_btn_label:after {/* ラベルの文字列を設定 */
    display: flex;
    position:absolute;
    right:15px;
    font-family: "Font Awesome 6 Pro";
	content: '\f106';/* 上のアイコン */
	font-weight:900;
	font-style: normal;
	margin-left:10px;
}
.hidden_btn input {
    display: none;/*チェックは見えなくする*/
}
.hidden_area {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;/*中身を非表示にしておく*/
    transition: .5s opacity;
}
.hidden_btn input:checked ~ .hidden_area {/*クリックで中身表示*/
    height: auto;
    opacity: 1;
}
.hidden_btn input:checked + .hidden_btn_label:after{/* クリック時ラベルの文字列を変更 */
    display: flex;
    position:absolute;
    right:15px;
    font-family: "Font Awesome 6 Pro";
	content: '\f107';/* 下のアイコン */
	font-weight:900;
	font-style: normal;
	margin-left:auto;
}
/* ------------------------------------------------------
安心ポイントスワイパーSP版テスト
-------------------------------------------------------- */
.support_swiper{
	width:100%;
	position:relative;
}
.support_swiper .support_swiper_main{
	width:100%;
	overflow: scroll;
	-ms-overflow-style: none;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	position: relative;
	z-index: 1;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.support_swiper  .support_swiper_wrapper{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	position: relative;
	z-index: 1;
	gap:30px;
	height: 100%;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property:transform, -webkit-transform;
	transition: ease-out 0.1s;
 	-webkit-transform: translate3d(0px, 0, 0);
    transform: translate3d(0px, 0, 0);
}
.support_swiper  .support_swiper_item{
	box-sizing:border-box;
	border-radius:20px;
	padding:0px;
	position: relative;
	width: calc(100% - 40px);/* itemのgap30px + 10px分となりのアイテムを見せる */
	text-align: center;
	flex-shrink: 0;/* 要素を縮めないため */
	display: flex;
	flex-direction: column;/* 要素を縦に並べる */
	background:#e8f1ff;
	padding:15px;
	box-shadow: 8px 8px 16px 0px rgba(0,0,0,.05);
	margin-bottom:50px;/* box-shadowがバツっと消えないようにするため必要 */
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	scroll-snap-align: start end;/* 1つ目はスワイプの左端、2つ目は右端にピタッと合わせる */
	scroll-snap-stop: always;/* スワイプが通り過ぎるのを防ぐ */
	scroll-margin-left: 30px;
}
.step_chart_item {
	box-sizing: border-box;
	position: relative;
	padding: 0px 0 0 90px;
	margin-bottom:30px;
	width:100%;
}
.step_chart_item:last-child{
	margin-bottom:0px;
}
.support_swiper_item_title{
	display:flex;
	align-items:center;
	justify-content:center;
	height:30px;
	width:100%;
	text-align:center;
	font-weight:bold;
	font-size:18px;
	color:#5193f7;
	margin-bottom:20px;
}
.circle {
	display: flex;
	position: absolute;
	top: 0;
	left: 10px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #99c2ff;
	text-align: center;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.33;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index:2;
}
.step_chart_txt{
	margin: 0px;
	padding: 0px;
	text-align:left;
}
.support_swiper_item.with_chart::before {
	position: absolute;
	top: 74px;
	bottom: 140px;
	left: 36px;
	width: 2px;
	height:calc(100% - 140px);
	content: '';
	background: url(img_line_dashed.png) repeat-y center top/100% auto;
	z-index:1;
}
/* ------------------------------------------------------
安心ポイント（PC版）
-------------------------------------------------------- */
.pc_support_list{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    position:relative;
     justify-content: center;
     gap:30px;
}
.pc_support_item {
   box-sizing:content-box;
	border-radius:20px;
	padding:0px;
    position: relative;
    width: calc((100% - 30px)/3);
    text-align: center;
    flex-shrink: 0;/* 要素を縮めないため */
	display: flex;
	flex-direction: column;/* 要素を縦に並べる */
	background:#e8f1ff;
  	padding:20px;
  	box-shadow: 8px 8px 16px 0px rgba(0,0,0,.05);
}
.pc_support_item.with_chart::before {
    position: absolute;
    top: 74px;
    bottom: 140px;
    left: 41px;
    width: 2px;
    height:calc(100% - 140px);
    content: '';
    background: url(img_line_dashed.png) repeat-y center top/100% auto;
    z-index:1;
}
/* ------------------------------------------------------
教材の説明
-------------------------------------------------------- */
.balloon{
	display: flex;
	position: relative;
	width: 180px;
	height: 40px;
	margin: 0px auto 20px;
	border-radius: 30px;
	background: #99c2ff;
	text-indent: 0.04em;
	color: #fff;
	font-size: 15px;
	letter-spacing: .04em;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	padding: 5px 0;
}
.balloon::before {
	position: absolute;
	bottom: -7px;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border: solid transparent;
	border-width: 7px 7px 0;
	border-top-color: #99c2ff;
	content: '';
	box-sizing: border-box;
}
.teaching_materials_image{
	max-width:600px;
	width:100%;
}
/* ------------------------------------------------------
募集要項
-------------------------------------------------------- */
.job_info{
	background: #f3f3f3;
    padding: 50px 20px 20px 20px;
}
/*--------------------------------------------------------
募集要項テーブル
--------------------------------------------------------*/
.job_info_table{
	background:#fff;
	border-radius:20px;
	padding:10px;
	width:100%;
	max-width: 960px;
	margin:0 auto;
}
@media only screen and (min-width: 738px){
	.job_info_table{
		padding:20px;
	}
}
.job_info_table td{
	border-bottom:2px dashed #c0c0c0;
	padding:10px;
}
.job_info_table tr:last-child td{
	border-bottom:none;
}
.job_info_table td.title{
	width:25%;
	text-align:center;
	font-weight:bold;
}
.job_info_table td.description{
	width:75%;
}
.job_info_table td.description p.margin_none{
	margin-bottom:0px;
}
.job_info_table td ul li:last-child{
	padding-bottom:0px;
}
/*--------------------------------------------------------
採用フロー
--------------------------------------------------------*/
.flow_image.sp{
	max-width:330px;
	width:100%;
}
.flow_image.pc{
	max-width:600px;
	width:100%;
}
/*--------------------------------------------------------
履歴書ダウンロードボタン
--------------------------------------------------------*/
.button_download {
	position: relative;
	display: inline-block;
	padding:20px 30px;
	color: #fff;
	z-index: 1;
	border:none;
	background:none;
	outline: none;
	cursor:pointer;
	font-weight:bold;
	font-size:15px;
	margin:0 auto;
	margin-bottom:7px;
}
@media only screen and (min-width: 738px){
	.button_download {
		margin-bottom:11px;
	}
}
 .button_download:before {
	content: "";
	position: absolute;
	z-index: -1;
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	border-radius: 40px;
	background:#99c2ff;
	transition: all .3s;
}
.button_download:hover:before {
	right: 0;
	transform: scale(1.1);
	background: #99c2ff;
}
.button_download i{
	margin-left:0px;
	margin-right:10px;
}
.button_download a{
	color:#fff;
}
.background_box{
	padding: 15px;
	border-radius: 20px;
	background:#e8f1ff;
	display:inline-flex;
	width:100%;
	max-width:600px;
	flex-direction: column;
	position: relative;
	margin-bottom: 15px;
	font-weight:bold;
}
div.background_box div.title {
	display: flex;
	position: relative;
	width: 222px;
	height: 40px;
	margin: -35px auto 17px;
	border-radius: 30px;
	background: #99c2ff;
	text-indent: 0.04em;
	color: #fff;
	font-size: 15px;
	letter-spacing: .04em;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	padding: 5px 0;
}
@media only screen and (min-width: 738px){
	div.main_box div.background_box div.title {
		font-size: 17px;
		margin-bottom: 6px;
	}
}
div.background_box .dashed_line{
	margin-bottom:20px;
	border: none;
	border-bottom: dashed 2px #5193f7;
}
/* ------------------------------------------------------
一緒に働く仲間スワイパー（SP版）
-------------------------------------------------------- */
.people_swiper{
	width:100%;
	position:relative;
}
.people_swiper .people_swiper_main{
	width:100%;
	overflow: scroll;
	-ms-overflow-style: none;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	position: relative;
	z-index: 1;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.people_swiper .people_swiper_wrapper{
	display: flex;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	position: relative;
	z-index: 1;
	gap:30px;
	height: 100%;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property:transform, -webkit-transform;
	transition: ease-out 0.1s;/* 【丹澤確認】実機でスピード確認 */
	-webkit-transform: translate3d(0px, 0, 0);
    transform: translate3d(0px, 0, 0);
}
.people_swiper_item{
	box-sizing:content-box;
	border-radius:40px;
	padding:0px;
    position: relative;
    width: calc(100% - 40px);
    text-align: center;
    flex-shrink: 0;/* 要素を縮めないため */
	display: flex;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    scroll-snap-align: start;/* スワイプの先端にピタッと合わせる */
	scroll-snap-stop: always;/* スワイプが通り過ぎるのを防ぐ */
}
.people_swiper_item a img{
	width:100%;
	vertical-align:top;/* imgの下の隙間を消す */
}
.people_swiper_item a img.people{
	box-shadow: 8px 19px 11px 0px rgba(0,0,0,.05);
}
.people_swiper_item .people_voice{
	position:absolute;
	right:20px;
	top:-30px;
	width:14%;
	min-width:48px;
}
.people_swiper_item a.people_swiper_item_link{
	margin:40px 0;
	position:relative;
	display:block;
	cursor:pointer;
}
.people_swiper_item a.people_swiper_item_link .click_btn{
	position:absolute;
	right:10px;
	bottom:-30px;
	display:flex;
	border-radius:50%;
	width:100px;
	height:100px;
	color:#fff;
	align-items: center;
	justify-content: center;
	background:#5193f7;
	font-weight:bold;
	font-size:17px;
	cursor:pointer;
}
.people_swiper .bg_circle.people_circle_red{
	bottom:-18%;
	left:-20%;
	width:58%;
	z-index:-2;
}
.people_swiper .bg_circle.people_circle_blue{
	top:-23%;
	right:-20%;
	width:58%;
	z-index:-2;
}
/*--------------------------------------------------------
一緒に働く仲間（PC版）
--------------------------------------------------------*/
.pc_people_block{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    position:relative;
    gap:0px 30px;
}
.pc_people_item{
	box-sizing:content-box;
	border-radius:40px;
	padding:0px;
    position: relative;
    width: calc(100% - 40px);
    width: calc((100% - 30px)/2);
    text-align: center;
    flex-shrink: 0;/* 要素を縮めないため */
	display: flex;
}
.pc_people_item a.pc_people_item_link{
	margin:40px 0;
	margin:40px 0 30px 0;
	position:relative;
	display:block;
	cursor:pointer;
}
.pc_people_item a img{
	width:100%;
	vertical-align:top;/* imgの下の隙間を消す */
}
.pc_people_item a img.people{
	box-shadow: 8px 19px 11px 0px rgba(0,0,0,.05);
	border-radius:10px;
}
.pc_people_item a img.people_voice{
	position:absolute;
	right:20px;
	top:-30px;
	width:14%;
	min-width:48px;
}
.pc_people_item a.pc_people_item_link .click_btn{
	position:absolute;
	right:10px;
	bottom:-30px;
	display:flex;
	border-radius:50%;
	width:100px;
	height:100px;
	color:#fff;
	align-items: center;
	justify-content: center;
	background:#5193f7;
	font-weight:bold;
	font-size:17px;
	cursor:pointer;
}
/*--------------------------------------------------------
一緒に働く仲間のポップアップ
--------------------------------------------------------*/
.people_popup {
	box-sizing: border-box;
	display:none;
	width:100%;
	height: 100%;
	background-color:#e8f1ff;
	position: fixed;
	top: 0;
	left: 0;
	z-index:1001;
	text-align: left;
	z-index: 9999;
	overflow: auto;
	opacity: 1;
	-webkit-overflow-scrolling: touch;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.people_popup.show {
	display: flex;
	justify-content: center;
	align-items: start;
}
.people_popup .content{
	box-sizing: border-box;
	background: #fff;
	width: calc(100% - 20px);
	border-radius: 27px;/* 相対角丸　外側と内側の間のpadding15px+ 内側の角丸12px＝外側の角丸27px */
	margin: 90px 10px 20px 10px;
	position: relative;
	padding:15px;
}
@media only screen and (min-width: 1117px){
	.people_popup .content{
	    max-width: 680px;
	}
}
.people_popup .content .title{
	font-weight:bold;
	margin-bottom:5px;
	color:#5193f7;
}
.people_popup .content .txt{
	margin-bottom:5px;
}
.people_popup .content .popup_img{
	position:relative;
	margin-bottom:15px;
}
.people_popup .content .popup_img .name_job_label{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	width: 222px;
	height: auto;
	margin: -43.25px auto 17px;
	border-radius: 10px;
	background: #99c2ff;
	text-indent: 0.04em;
	color: #fff;
	font-size: 15px;
	letter-spacing: .04em;
	align-items: center;
	justify-content: center;
	padding: 5px 0;
	flex-direction: column;/* 要素を縦に並べる */
}
.people_popup .content .popup_img .name_job_label .name{
	font-weight:bold;
}
.people_popup .content .popup_img img{
	width:100%;
}
.people_popup .content .close_btn{
	position: fixed;
	top: 20px;
	right:10px;
	color: #fff;
	font-size: 32px;
	background: none;
	border: none;
	cursor: pointer;
	border-radius:50%;
	width:50px;
	height:50px;
	background: rgba(153,194,255, 0.8);
}
@media only screen and (min-width: 738px){
	.people_popup .content .close_btn{
		right:30px;
	}
}
.people_popup .content .close_btn i{
	margin-right:0px;
}
/*--------------------------------------------------------
よくある質問
--------------------------------------------------------*/
.faq_block{
	width:100%;
}
.faq_block .faq_item{
	width:100%;
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	border-radius:10px;
	padding:15px;
	box-sizing:border-box;
	margin-bottom:15px;
}
.faq_block .faq_item.question{
	background:#e8f1ff;
	cursor:pointer;
}
.faq_block .faq_item.question.active{
	border-radius:10px 10px 0 0;
	margin-bottom:0px;
}
.faq_block .faq_item.answer{
	background:#ffe8ed;
	border-radius:0 0 10px 10px;
	display:none;
}
.faq_block .faq_item .faq_icon{
	width:50px;
	height:50px;
	border-radius:50%;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	align-items:center;
	justify-content:center;
}
.faq_block .faq_item.question .faq_icon{
	background:#99c2ff;
}
.faq_block .faq_item.answer .faq_icon{
	background:#ff99b3;
}
.faq_block .faq_item .faq_icon img{
	width:20px;
	height:20px;
}
.faq_block .faq_item .txt{
	margin-left:10px;
}
.faq_block .faq_item.question .txt{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	align-items:center;
	width:calc(100% - 50px - 30px - 20px);/* 50pxは丸のオブジェクト、30pxはアイコンのwidth、20pxはtxtの左右margin */
	margin-right:10px;
	font-weight:bold;
}
.faq_block .faq_item.answer .txt{
	width:calc(100% - 50px - 10px);/* 50pxは丸のオブジェクト、10pxはtxtのmargin-left */
}
.faq_block .faq_item .txt.one_line{/* 一行のみの場合、上下中央寄せ */
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	align-items:center;
}
.faq_block .faq_item.answer .txt .two_paragraph{
	margin-bottom:10px;
}
.faq_block .faq_item.question .icon{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
}
.faq_block .faq_item.question .icon i{
	font-size:22px;
	color:#5193f7;
	margin-right:0px;
}
/*--------------------------------------------------------
フッター
--------------------------------------------------------*/
footer{
	margin-top:35px;
}
@media only screen and (min-width: 738px){
	footer{
		margin-top:45px;
	}
}
footer div.footer_link {
    color: #ffffff;
    text-align: center;
    background-color: #5193f7;
    font-weight: normal;
    height: initial;
}
footer div.footer_link a{
    color: #ffffff;
    text-decoration: none;
}
footer ul {
    margin: 10px 0;
    line-height: 1.7;
    text-align: right;
    float: right;
}
footer ul li {
    color: #ffffff;
    font-size: 14px;
    list-style-type: none;
    margin: 0px;
}
footer ul li:nth-child(1) {
       margin-top: 0px;
}
@media only screen and (min-width: 738px){
	footer ul li {
	    float: left;
        margin: 0 0 0 20px;
	}
}
footer ul li a {
    display: block;
    padding: 5px 0;
    color: #ffffff;
}
footer div.copyright {
    color: #ffffff;
    text-align: center;
    background-color: #2a77eb;
    font-weight: normal;
	padding: 10px;
}
div.container{
	margin: 0 5px;
	width: initial;
}

@media only screen and (min-width: 738px){
	div.container{
		margin: 0 10px;
		width: initial;
	}
}
@media only screen and (min-width: 1117px){
	div.container{
	margin: 0 auto;
	width: 1087px;/* 700 + 51 + 336 */
	}
}