@charset "utf-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

dd {
	display: block;
	margin-inline-start: 0;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
	margin: 0;
	padding: 0;
}

html {
	line-height: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a,
a:visited {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
	color: #000;
}

a:hover,
a:active {
	color: #000;
}

a:hover {
	opacity: 1.0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

input,
select {
	vertical-align: middle;
}

li,
ul {
	list-style: none;
}

/*****************

clearfix

*****************/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-table;
	min-height: 1%;
}

/* Hides from IE-mac */
* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}

/* End hide from IE-mac */



/***********   COMMON settng ***********/
html {
	font-size: 15px;
}

body {
	font-family: 'europa', 'ryo-gothic-plusn', '游ゴシック体', 'YuGothic', 'Yu Gothic medium', 'Hiragino Sans', 'Meiryo', sans-serif;
	line-height: 1.8;
	text-align: left;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	color: #000;
	font-weight: 400;
	letter-spacing: 0.05em;
	font-feature-settings: "palt";
}

.pc_disp {
	display: block;
}

.sp_disp {
	display: none;
}

.tab_disp {
	display: none;
}

.pc_img {
	display: inline-block;
}

.sp_img {
	display: none;
}

a img:hover,
input[type=image]:hover {
	opacity: 1.0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.left {
	float: left;
}

.right {
	float: right;
}

img {
	width: 100%;
	height: auto;
	line-height: 0;
	vertical-align: middle;
}

main {
	margin: auto;
	overflow: hidden;
}

section {
	margin: 100px auto;
}

#wrap {
	overflow: hidden;
}

.inner_S {
	max-width: 865px;
	width: 90%;
	margin: auto;
}

.inner_M {
	max-width: 1000px;
	width: 90%;
	margin: auto;
}

.inner_L {
	max-width: 1060px;
	width: 90%;
	margin: auto;
}


/***********   ANNIMATION settng ***********/

/* 上下フェードイン設定 */

.fadein {
	opacity: 0;
	transform: translate(0, 70px);
	transition: all 700ms;
}

.fadein.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}


/***********   TEXT SETTING ***********/

.txt_XL {
	font-size: 3.2rem;
	line-height: 1.3;
}

.txt_L {
	font-size: 1.8rem;
	line-height: 1.5;
}

.txt_M {
	font-size: 1.25rem;
}

.txt_S {
	font-size: 0.85rem;
}

.txt_cnt {
	text-align: center;
}

.txt_right {
	text-align: right;
	display: block;
}

.white {
	color: #fff;
}

.yellow {
	color: #FFD900;
}

.blue {
	color: #33ACE2;
}

.strong {
	font-weight: 700;
}

strong {
	font-weight: 700;
}


/*********** TITLE SETTING ***********/

h2 {
	font-size: 35px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

h3 {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	margin-bottom: 0.5em;
}

.ttl_box {
	width: 100%;
	text-align: left;
	margin-bottom: 50px;
}

.ttl_box p {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	border: 2px solid #000;
	padding: 0 0.5em;
	margin-bottom: 0.5em;
	background: #fff;
	display: inline-block;
}

/***********   OBJECT SETTING ***********/

.bg_yellow {
	background: #fff8cc;
}

.bg_orange {
	background: #fff072;
}

.bg_green {
	background-image: linear-gradient(90deg, #82da6d 0%, #31b266 100%);
}

.bg_gray {
	background: #f3f5f5;
}

.bg_white {
	background: #fff;
}

.box_r_20 {
	border-radius: 20px;
}

article {
	position: relative;
	margin: 60px auto;
}

.col2_box,
.col3_box,
.col4_box,
.col5_box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.col2_box li {
	width: 50%;
}

.col3_box li {
	width: 30%;
	margin: 20px 0 0 0;
}

.col4_box li {
	width: 25%;
}

.col5_box li {
	width: 20%;
}

.txt_box p {
	margin: 0.5em auto;
}

.img_r_box img {
	border-radius: 20px;
}

.border_bt_box {
	border-bottom: 1px solid #707070;
	padding: 40px 0;
}

.h_logo_2 {
	width: 250px;
	margin: 100px auto 0;
}

/* テーブル */

.table_box,
.table_box dt,
.table_box dd {
	box-sizing: border-box;
}

.table_box dt,
.table_box dd {
	padding: 1.5em 0.5em;
	margin: 0px;
	border-bottom: 1px solid #e9e9e9;
}

.table_box dd {}

.table_box {
	display: flex;
	flex-wrap: wrap;
	margin: 30px 0 0 0;
}

.table_box>dt,
.table_box>dd {
	display: flex;
	justify-content: top;
}

.table_box>dt {
	width: 25%;
}

.table_box>dd {
	width: 75%;
}

.table_box dt span {
	width: 75px;
	text-align: center;
	background: #fff;
	font-size: 0.85rem;
	color: #000;
	padding: 2px 0;
	margin-left: 20px;
	display: inline;
}


/*********** CV SETTING ***********/

.cv_box {
	background-color: #389FD6;
	background-image: linear-gradient(90deg, #5ECDDB 0%, #389FD6 100%);
	padding: 50px 0;
}

.cv_box .cv_ttl {
	margin-bottom: 15px;
}

.cv_btn_h {
	position: relative;
	width: 350px;
	text-align: center;
	display: inline-block;
	margin: auto;
	padding: 0.3em 0 0.5em;
	background: rgb(255, 243, 177);
	background: linear-gradient(0deg, rgba(255, 243, 177, 1) 0%, rgba(255, 217, 0, 1) 100%);
	border-radius: 7px;
	border: 3px solid #fff;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.3;
	z-index: 99;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.cv_btn_h:hover {
	background: #fff;
}

.cv_btn {
	position: relative;
	width: 400px;
	text-align: center;
	display: inline-block;
	margin: auto;
	padding: 0.3em 0 0.5em;
	background: #FFD900;
	border-radius: 500px;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.3;
	z-index: 99;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.cv_btn:hover {
	background: #fff;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.cv_btn small,
.cv_btn_h small {
	font-size: 0.9rem;
}

.cv_btn p,
.cv_btn_h p {
	position: relative;
	width: auto;
	display: inline-block;
	margin-left: 30px;
}

.cv_btn p::after,
.cv_btn_h p::after {
	position: absolute;
	content: '';
	width: 40px;
	height: 40px;
	top: 56%;
	left: -56px;
	transform: translateY(-55%);
	background: url("../images/icon_line.svg") left / contain no-repeat;
}

.cv_btn_h p::after {
	width: 39px;
	height: 37px;
}

.cv_btn_h p::before {
	position: absolute;
	content: '';
	width: 34px;
	height: 8px;
	top: 55%;
	right: -50px;
	transform: translateY(-55%);
	background: url("../images/fv_btn_arrow.png") center / cover;

}

.shiny {
	display: block;
	position: relative;
	text-align: center;
	text-decoration: none;
	overflow: hidden;
	transition: 300ms;
}

.shiny::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.7);
	transition: 200ms;
	animation: shinyshiny 2.5s ease-in-out infinite;
}

@-webkit-keyframes shinyshiny {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}

	80% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0.5;
	}

	81% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1;
	}

	100% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}


/*********** KV SETTING ***********/

header {
	position: fixed;
	width: 100%;
	height: 75px;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: rgba(255, 255, 255, 0.9);
	z-index: 9999;
}

header h1 {
	position: absolute;
	width: 140px;
	top: 20px;
	left: 20px;
}

header .h_btn {
	position: absolute;
	width: 140px;
	top: 20px;
	right: 20px;
	/*padding: 0.3em 0;*/
	background: #FFD900;
	border-radius: 100px;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: .5em;
}

header .h_btn img {
	width: 28px;
	display: inline-block;
	margin-right: 5px;
}

header nav {
	text-align: center;
	margin: 23px 0 0 0;
}

header nav span {
	font-size: 13px;
	font-weight: 700;
	display: inline-block;
	margin: 0 0.7em;
}

#kv {
	position: relative;
	background: #5bc9db;
	background: linear-gradient(0deg, rgba(91, 201, 219, 1) 0%, rgba(55, 159, 214, 1) 100%);
	width: 100%;
	height: 630px;
	box-sizing: border-box;
	margin: 75px auto 65px;
}

#kv .parent {
	display: grid;
	grid-template-columns: 1fr repeat(2, 0.5fr);
	grid-template-rows: repeat(4, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	height: 100%;
}

#kv .parent .div2 img,
#kv .parent .div3 img,
#kv .parent .div4 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#kv .parent .div1 {
	grid-area: 1 / 1 / 5 / 2;
	position: relative;
}

#kv .parent .div2 {
	grid-area: 1 / 2 / 5 / 3;
}

#kv .parent .div3 {
	grid-area: 1 / 3 / 3 / 4;
}

#kv .parent .div4 {
	grid-area: 3 / 3 / 5 / 4;
}

#kv .cc_group {
	position: absolute;
	top: 50%;
	left: calc(50% - 10px);
	transform: translate(-50%, -50%);
}

#kv .cc_group::after {
	position: absolute;
	content: "";
	width: 145px;
	height: 60px;
	aspect-ratio: 119/50;
	top: 245px;
	left: 1%;
	background: url("../images/fv_icon.png") center / cover;
	z-index: 999;
}

#kv .cc {
	font-weight: 700;
	line-height: 2;
	color: #fff;
	text-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
	margin-bottom: 20px;
}

#kv .cc span {
	border-bottom: solid 2px #fff;
	display: inline;
	padding-bottom: 12px;
}

#kv h1 {
	margin: auto;
	line-height: 1.3;
	color: #fff;
	margin-bottom: 60px;
	text-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
}

#kv h1 span.cc_main {
	display: inline-block;
	font-size: 28px;
	width: 100%;
}

#kv h1 span.service_name {
	display: inline-block;
	font-size: 66px;
	color: #ffd900;
	text-align: center;
}

#kv h1 span.service_name_jp {
	display: block;
	font-size: 0.3em;
	line-height: 0.3;
	letter-spacing: 1em;
}

#kv .cv_btn_h {
	position: relative;
	width: 350px;
	margin: 0;
}

#kv .flex {
	display: flex;
}

#kv .flex .cc_group,
#kv .flex .cc_group {
	width: 50%;
}

#kv .kv_label {
	position: absolute;
	bottom: 150px;
	left: calc(0% + 350px);
	width: 170px;
}

.fv_cp_box {
	max-width: 795px;
	width: 80%;
	margin: auto;
}

/*********** FUTURE ***********/

.future .article {
	position: relative;
}

.future .article .label {
	position: absolute;
	text-align: center;
	top: -15px;
	left: 0;
	right: 0;
	z-index: 99;
}

.future .article img {
	position: relative;
	border-radius: 20px 20px 0 0;
	z-index: 98;
}

.future .article .article_txt_box {
	position: relative;
	background: #fff;
	border-radius: 20px;
	border: 2px solid #000;
	padding: 15px 25px;
	box-sizing: border-box;
	margin-top: -20px;
	z-index: 99;
}

.future .article .status {
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 700;
}

.future .article small {
	font-size: 12px;
}

.future .article .txt {
	font-size: 13px;
}

/* スライダー */
.swiper {
	overflow: visible !important;
	overflow-x: clip !important;
	padding: 0 40px;
}

.future .slider_area .swiper .swiper-pagination {
	position: absolute;
	bottom: -40px;
	left: 0;
	right: 0;
	margin: auto;
}

.future .slider_area .swiper-pagination-gray span.swiper-pagination-bullet {
	background-color: #DBDBDB;
	opacity: 1;
}

.future .slider_area .swiper-pagination-gray span.swiper-pagination-bullet-active {
	background-color: #000000;
	opacity: 1;
}

.future .slider_area .swiper-button-prev {
	background: url("../images/slide_navi_l.png") center / cover;
	width: 30px;
	height: 30px;
	left: 0;
	z-index: 999;
	position: absolute;
}

.future .slider_area .swiper-button-next {
	background: url("../images/slide_navi_r.png") center / cover;
	width: 30px;
	height: 30px;
	right: 0;
}

.future .slider_area .swiper-button-prev {
	background: url("../images/slide_navi_l.png") center / cover;
	width: 30px;
	height: 30px;
	left: 0;
	z-index: 999;
	position: absolute;
}

.future .slider_area .swiper-button-next::after,
.future .slider_area .swiper-button-prev::after {
	display: none;
}


/*********** CONCEPT ***********/

.concept {
	position: relative;
	background: url("../images/img_philo_bg.png") no-repeat center / cover;
	width: calc(100% - 70px);
	margin: 0 auto 150px 0;
	padding: 130px 0;
	border-radius: 0 40px 0 0;
}

.concept p {
	line-height: 2.3;
}

.concept .img1 {
	position: absolute;
	width: 230px;
	bottom: 220px;
	left: 0;
	right: -40%;
	margin: auto;
}

.concept .img2 {
	position: absolute;
	width: 220px;
	bottom: -30px;
	left: 0;
	right: -60%;
	margin: auto;
}

/*********** SERVICE ***********/

.service .benefit_box {
	margin: 40px 0 0;
	padding-bottom: 40px;
	border-bottom: 1px solid #707070;
}

.service .benefit_box .col2_box li:last-child {
	width: 45%;
}

.service .benefit_box .txt_box img {
	width: 65px;
}

.service .benefit_box .detail_box {
	width: 100%;
	background: #E6F9FF;
	padding: 15px 28px;
	margin-top: 10px;
	box-sizing: border-box;
	border-radius: 20px;
}

.service .benefit_box>li {
	width: 47%;
}

.service .skill_box1 h3 {
	margin: 40px 0 5px 0;
}

.service .skill_box1 ul li {
	width: 24%;
	margin: 5px 0;
	padding: 10px;
	box-sizing: border-box;
	background: #FFF9DF;
	border-radius: 10px;
	text-align: center;
}

.service .skill_box1 ul li img {
	width: 65px;
}

.service .skill_box2 ul li {
	width: 24%;
	margin: 5px 0;
}

.service .skill_box2 ul li p {
	margin-top: 0.5em;
}

.service .skill_box2 ul li p span {
	background: url("../images/icon_check.png") center / cover;
	width: 17px;
	height: 15px;
	margin-right: 0.5em;
	display: inline-block;

}


/*********** DATA ***********/

.data {
	background: url("../images/bg_grid.png") center;
	padding: 80px 0 0;
	margin: 0;
	text-align: center;
}

.data .txt_box {
	margin: 40px 0;
}

.data .img1 {
	max-width: 550px;
	width: 80%;
}

.data .img2 {
	max-width: 450px;
	width: 80%;
}

.data .img3 {
	max-width: 680px;
	width: 90%;
}

/*********** FEATURES ***********/

.features {
	background: #FFF9E0;
	padding: 80px 0;
	margin: 0;
}

.features article {
	position: relative;
	background: #fff;
	padding: 35px 55px;
	border-radius: 40px;
}

.features article li:nth-child(1) {
	margin-top: 50px;
}

.features article li:nth-child(2) {
	width: 45%;
}

.features article .feature_cc1,
.features article .feature_cc2,
.features article .feature_cc3 {
	position: absolute;
	top: -25px;
	left: 45px;
}

.features article .feature_cc1 {
	width: 440px;
}

.features article .feature_cc2 {
	width: 355px;
}

.features article .feature_cc3 {
	width: 295px;
}

.features .caption {
	position: relative;
	background: #FFED9F;
	padding: 75px 55px 35px;
	border-radius: 40px;
}

.features .caption img {
	position: absolute;
	width: 770px;
	top: -20px;
	left: 0;
	right: 0;
	margin: auto;
}
				.features .caption .pc_img {
					display: block;
				}

				.features .caption .sp_img {
					display: none;
				}



/*********** INTERVIEW ***********/

.interview .article {
	position: relative;
	width: 24%;
}

.interview .article .label {
	position: absolute;
	width: 62px;
	top: -20px;
	left: 10px;
}

.interview .article img {
	position: relative;
	border-radius: 20px 20px 0 0;
	z-index: 98;
}

.interview .article .article_txt_box {
	position: relative;
	background: #BCE8F7;
	padding: 15px;
	margin-top: -20px;
	box-sizing: border-box;
	border-radius: 20px;
	z-index: 99;
}

.interview .article .article_txt_box p {
	font-size: 17px;
	font-weight: 700;
}

.interview .article .article_txt_box .movie_btn {
	position: relative;
	text-align: center;
	font-weight: 700;
	background: #fff;
	border-radius: 100px;
	padding: 0.3em;
	margin-top: 0.5em;
	box-sizing: border-box;
	cursor: pointer;
}

.interview .article .article_txt_box .movie_btn:hover {
	opacity: 0.7;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.interview .article .article_txt_box .movie_btn::after {
	position: absolute;
	content: "＋";
	top: 0.3em;
	right: 1em;
}

/*********** MODAL ***********/

/* モーダルCSS */
.modalArea {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	background-color: rgba(210, 238, 251, 0.85);
	overflow-x: auto;
	overflow-y: scroll;
	z-index: 9999;
}

.modalArea .modalBg {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 9998;
}

.modalWrapper {
	position: relative;
	width: 85%;
	max-width: 1060px;
	background: #fff;
	border-radius: 20px;
	padding: 40px 60px;
	margin: 70px auto;
	box-sizing: border-box;
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.15);
	z-index: 9998;
}

.modal_cont .youtube {
	width: 100%;
	max-width: 640px;
	margin: 30px auto;
}

.modal_cont .youtube iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.modal_cont .cv_area {
	margin: 50px auto 30px;
	text-align: center;
}

.modalWrapper .closeModal {
	position: absolute;
	width: 46px;
	top: -15px;
	right: 20px;
	cursor: pointer;
	z-index: 9999;
}



/*********** COURSE ***********/

.course .cp_box2 {
	margin-top: 25px;
}

/*タブ切り替え全体のスタイル*/
.tabs {
	width: 100%;
}

/*タブのスタイル*/
.tab_item1,
.tab_item2,
.tab_item3 {
	width: 30%;
	padding: 4.3% 0;
	background: url("../images/tab1_off.png") no-repeat center / cover;
	display: block;
	cursor: pointer;
	float: left;
	margin: 0 0.5% 0 4.5%;
}

.tab_item1:hover,
.tab_item2:hover,
.tab_item3:hover {
	opacity: 0.75;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.tab_item2 {
	background: url("../images/tab2_off.png") no-repeat center / cover;
	margin-left: 0;
}

.tab_item3 {
	background: url("../images/tab3_off.png") no-repeat center / cover;
	margin-left: 0;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
	display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
	display: none;
	padding: 40px 50px;
	box-sizing: border-box;
	border: 2px solid #000;
	border-radius: 40px;
	clear: both;
	overflow: hidden;
}

.tab_content .ttl_course {
	width: 100%;
	max-width: 520px;
	margin: 0 auto 20px;
}

.tab_content .course_cont .label {
	width: 250px;
	font-size: 17px;
	font-weight: 700;
	padding: 0.2em 1.0em;
	margin: 1.0em auto;
	text-align: center;
	border-radius: 100px;
	border: 2px solid #000;
	display: block;
}

.tab_content .course_cont p.txt_L {
	margin-top: 0.5em;
}

.tab_content .course_cont .lesson_list {
	width: 100%;
	background: #FFF6C3;
	border-radius: 20px;
	padding: 25px 40px;
	margin: 30px 0 50px;
	box-sizing: border-box;
}

.tab_content .course_cont .lesson_list h3 {
	width: 100%;
	font-size: 15px;
	background: #fff;
	padding: 0.3em 1.0em;
	margin-bottom: 1.0em;
	box-sizing: border-box;
	border-radius: 100px;
}

.tab_content .course_cont .layout_box_col2 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2.0em;
}

.tab_content .course_cont .layout_box_col2:last-child {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 0;
}

.tab_content .course_cont .layout_box_col2 p {
	margin-right: 3.0em;
}

.tab_content .course_cont .lesson_list .col2_box li {
	width: 48%;
}

/*選択されているタブのコンテンツのみを表示*/
#course1:checked~#course1_content,
#course2:checked~#course2_content,
#course3:checked~#course3_content {
	display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked+.tab_item1 {
	background: url("../images/tab1_active.png") no-repeat center / cover;
}

.tabs input:checked+.tab_item2 {
	background: url("../images/tab2_active.png") no-repeat center / cover;
}

.tabs input:checked+.tab_item3 {
	background: url("../images/tab3_active.png") no-repeat center / cover;
}

/*********** FAQ ***********/

.faq {
	background: #E6F9FF;
	padding: 80px 0;
	margin: 0;
}

/*アコーディオン全体*/
.accordion-area {
	list-style: none;
	width: 100%;
	margin: 5% 0 0 auto;
}

.accordion-area li {
	background: #fff;
	border-radius: 20px;
	margin: 20px 0;
	padding: 20px 0;
}

/*アコーディオンタイトル*/
.title {
	position: relative;
	/*+マークの位置基準とするためrelative指定*/
	cursor: pointer;
	padding: 10px 55px;
	margin: 0 30px;
	transition: all .3s ease;
	background: url("../images/icon_faq_q.png") no-repeat center left;
	background-size: 36px;
	line-height: 1.5;
	font-size: 1.25rem;
}

/*アイコンの＋と×*/
.title::before,
.title::after {
	position: absolute;
	content: '';
	width: 25px;
	height: 2px;
	background-color: #000;
}

.title::before {
	top: 50%;
	right: 15px;
	transform: rotate(0deg);
}

.title::after {
	top: 50%;
	right: 15px;
	transform: rotate(90deg);
}

/*　closeというクラスがついたら形状変化　*/
.title.close::before {
	top: 50%;
	right: 15px;
	transform: rotate(0deg);
}

.title.close::after {
	display: none;
}

/*アコーディオンで現れるエリア*/
.answer_box {
	display: none;
	/*はじめは非表示*/
	background: url("../images/icon_faq_a.png") no-repeat top left;
	background-size: 36px;
	margin: 15px 30px 0;
	padding: 5px 55px 10px;
}


/*********** 利用規約ページ ***********/

.terms_txt_box {
	margin-top: 2em;
}

.terms_txt_box .terms_txt_single {
	margin: 20px 0 0 0;
}

.txt_list_box {
	margin: 20px 0 0 40px;
}

.txt_list_box_item {
	margin-top: 10px;
	line-height: 1.8;
	list-style-type: decimal;
}

.txt_list_box_item_roman {
	margin-top: 10px;
	line-height: 1.8;
	list-style-type: lower-roman;
}

.txt_list_box_Ol {
	margin: 10px 0 20px 40px;
}

.txt_list_box_Ol_item {
	margin-top: 10px;
	line-height: 1.8;
	list-style-type: decimal;
}

.txt_list_box_Ol_item_roman {
	margin-top: 10px;
	line-height: 1.8;
	list-style-type: lower-roman;
}

.txt_list_box_Ol_sub {
	margin: 10px 0 20px 15px;
}

.txt_list_box_Ol_item_sub {
	margin-top: 10px;
	line-height: 1.8;
	counter-increment: cnt;
}

.txt_list_box_Ol_item_sub::before {
	content: "(" counter(cnt) ") ";
}


.Inner-Box-Contact {
	margin-top: 36px;
}

.Inner-Box-Contact-Text {
	letter-spacing: 0.05em;
	line-height: 1.8;
	font-size: 15px;
}

.Inner-Box-Contact-Text:nth-child(2) {
	margin-top: 16px;
}

.Inner-Box-Item {
	letter-spacing: 0.05em;
	line-height: 1.8;
	font-size: 15px;
}


/*********** 特商法 ***********/

.table_box .terms_txt_box {
	margin-top: 0;
}

.table_box .txt_list_box {
	margin: 0 0 0 20px;
}

.table_box .txt_list_box_item {
	margin-top: 0;
	line-height: 1.8;
	list-style-type: decimal;
}

/*********** FOOTER SETTING ***********/
footer p {
	width: 100%;
	text-align: center;
	padding: 15px 0;
	font-size: 0.7rem;
	line-height: 2.5;
}

@media screen and (min-width: 1333px) {
	#kv .cc_group {
		top: 55%;
		left: 50%;
		transform: scale(1.1) translate(-50%, -55%);
	}
}

@media screen and (max-width: 999px) {
	.tab_disp {
		display: block;
	}

	/***********   OBJECT SETTING ***********/

	.col2_box,
	.col3_box,
	.col4_box,
	.col5_box {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.col4_box li {
		width: 50%;
	}


	/*********** KV SETTING ***********/

	header {
		position: fixed;
		width: 100%;
		height: 75px;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 9999;
	}

	header h1 {
		position: absolute;
		width: 140px;
		top: 20px;
		left: 20px;
	}

	header .h_btn {
		position: absolute;
		width: 140px;
		top: 20px;
		right: 20px;
		padding: 0.3em 0;
		background: #FFD900;
		border-radius: 100px;
		font-size: 13px;
		font-weight: 700;
		text-align: center;
	}

	header .h_btn img {
		width: 18px;
		display: inline-block;
		margin-right: 5px;
	}

	header nav {
		display: none;
	}

	#kv {
		background: #5bc9db;
		background: linear-gradient(90deg, rgba(91, 201, 219, 1) 0%, rgba(55, 159, 214, 1) 100%);
		height: 850px;
		box-sizing: border-box;
		margin: 75px auto 65px;
	}

	#kv .parent {
		position: relative;
		display: grid;
		grid-template-columns: repeat(2, 0.5fr) 1fr;
		grid-template-rows: 250px 20% 20% 1fr;
		grid-column-gap: 0px;
		grid-row-gap: 0px;
	}

	#kv .parent .div1 {
		grid-area: 1 / 1 / 5 / 4;
	}

	#kv .parent .div2 {
		grid-area: 2 / 3 / 4 / 4;
	}

	#kv .parent .div3 {
		grid-area: 2 / 1 / 3 / 3;
	}

	#kv .parent .div4 {
		grid-area: 3 / 1 / 4 / 3;
	}

	#kv .cc_group {
		padding-top: 10px;
		text-align: center;
		position: static;
		transform: none;
	}

	#kv .cc_group::after {
		display: none;
	}

	#kv .cc {
		font-size: 22px;
		font-weight: 700;
		line-height: 2;
		margin-bottom: 15px;
	}

	#kv .cc span {
		display: inline;
	}

	#kv h1 {

		margin: auto;
		font-size: 28px;
		line-height: 1.3;
		color: #fff;
	}

	#kv h1 span {
		font-size: 50px;
	}

	#kv .cv_btn_h {
		position: absolute;
		width: 350px;
		top: 710px;
		left: 50%;
		transform: translateX(-50%);
	}

	#kv .kv_main {
		position: absolute;
		bottom: 0;
		left: 45%;
		right: 0;
		width: 520px;
		margin: auto;
	}

	#kv .kv_label {
		position: absolute;
		bottom: 170px;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		width: 310px;
	}

	#kv::after {
		position: absolute;
		content: "";
		width: 119px;
		height: 40px;
		top: 685px;
		left: 34%;
		transform: translateX(-30%);
		background: url("../images/fv_icon.png") center / cover;
		z-index: 999;
	}

	/*********** CONCEPT ***********/

	.concept .img1 {
		position: absolute;
		width: 180px;
		bottom: 180px;
		left: 0;
		right: -65%;
		margin: auto;
		z-index: 997;
	}

	.concept .img2 {
		position: absolute;
		width: 170px;
		bottom: -30px;
		left: 0;
		right: -85%;
		margin: auto;
		z-index: 998;
	}

	.concept p {
		position: relative;
		z-index: 999;
	}

	/*********** FEATURES ***********/

	.features article {
		position: relative;
		background: #fff;
		padding: 30px 30px;
		border-radius: 40px;
	}

	.features article li:nth-child(1) {
		width: 55%;
		margin-top: 50px;
	}

	.features article li:nth-child(2) {
		width: 40%;
		margin-top: 40px;
	}

	.features article .feature_cc1,
	.features article .feature_cc2,
	.features article .feature_cc3 {
		position: absolute;
		top: -25px;
		left: 45px;
	}

	.features article .feature_cc1 {
		width: 440px;
	}

	.features article .feature_cc2 {
		width: 355px;
	}

	.features article .feature_cc3 {
		width: 295px;
	}

	.features .caption {
		position: relative;
		background: #FFED9F;
		padding: 75px 30px 30px;
		border-radius: 40px;
	}

	.features .caption img {
		position: absolute;
		width: 90%;
		top: -20px;
		left: 0;
		right: 0;
		margin: auto;
	}
	.features .caption .pc_img {
	display: none;
	}
	.features .caption .sp_img {
	display: block;
	}


	/*********** INTERVIEW ***********/

	.interview .inner_M {
		width: 80%;
	}

	.interview .article {
		position: relative;
		width: 48%;
		margin-bottom: 40px;
	}

}


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

	.pc_disp {
		display: none;
	}

	.sp_disp {
		display: block;
	}

	.pc_img {
		display: none;
	}

	.sp_img {
		display: inline-block;
	}


	/***********   COMMON settng ***********/

	html {
		font-size: 13px;
	}

	body {
		font-size: 13px;
	}

	main {
		margin: auto;
	}

	section {
		margin: 15% auto;
	}

	/***********   TEXT SETTING ***********/

	.txt_XL {
		font-size: 2.0rem;
		line-height: 1.4;
	}

	.txt_L {
		font-size: 1.4rem;
		line-height: 1.5;
	}

	.txt_M {
		font-size: 1.15rem;
	}

	.txt_S {
		font-size: 0.8rem;
	}

	.left {
		float: none;
	}

	.right {
		float: none;
	}

	/*********** TITLE SETTING ***********/

	h2 {
		font-size: 24px;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.1em;
	}

	h3 {
		font-size: 16px;
		font-weight: 700;
		line-height: 1.4;
		letter-spacing: 0.1em;
		margin-bottom: 0.5em;
	}

	.ttl_box {
		width: 100%;
		text-align: left;
		margin-bottom: 20px;
	}

	.ttl_box p {
		font-size: 18px;
		font-weight: 700;
		line-height: 1.4;
		border: 2px solid #000;
		padding: 0 0.5em;
		margin-bottom: 0.5em;
		background: #fff;
		display: inline-block;
	}


	/***********   OBJECT SETTING ***********/
	.col3_box {
		display: flex;
		justify-content: center;
	}

	.col2_box li {
		width: 100%;
	}

	.col3_box li {
		width: 45%;
		margin: 5% 2.5% 0;
	}


	/*********** CV SETTING ***********/

	.cv_box {
		padding: 10% 0;
	}

	.cv_btn {
		position: relative;
		width: 100%;
		top: auto;
		left: auto;
		text-align: center;
		display: inline-block;
		margin: auto;
		padding: 0.4em 0 0.6em;
		background: #FFD900;
		border-radius: 500px;
		font-size: 1.3rem;
		font-weight: 700;
		line-height: 1.3;
		z-index: 99;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}

	.cv_btn::after {
		display: none;
	}

	.cv_btn small {
		font-size: 0.9rem;
	}

	.cv_btn p {
		position: relative;
		width: auto;
		display: inline-block;
		margin-left: 30px;
	}

	.cv_btn p::after {
		position: absolute;
		content: '';
		width: 2.2em;
		height: 2.1em;
		top: 50%;
                translate: -50% 0;
		left: -40px;
                margin-top: .2em;
		background: url("../images/icon_line.svg") center / cover;
	}

	/*********** KV SETTING ***********/

	header {
		position: fixed;
		width: 100%;
		/* height: auto; */
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 9999;
	}

	header h1 {
		position: absolute;
		width: 100px;
		top: 17px;
		left: 15px;
	}

	header .h_btn {
		position: absolute;
		width: 140px;
		top: 15px;
		right: 10px;
		padding: 0.3em 0;
		background: #FFD900;
		border-radius: 100px;
		font-size: 13px;
		font-weight: 700;
		text-align: center;
	}

	header .h_btn img {
		width: 18px;
		display: inline-block;
		margin-right: 5px;
	}

	header nav {
		display: none;
	}

	#kv {
		position: relative;
		background: #5bc9db;
		background: linear-gradient(90deg, rgba(91, 201, 219, 1) 0%, rgba(55, 159, 214, 1) 100%);
		height: 850px;
		box-sizing: border-box;
		margin: 75px auto 65px;
	}

	#kv .cc {
		font-size: 16px;
		font-weight: 700;
		line-height: 2.0;
	}

	#kv .cc span {
		display: inline;
	}

	#kv h1 {

		margin: auto;
		font-size: 20px;
		line-height: 1.3;
		color: #fff;
	}

	#kv h1 span {
		font-size: 50px;
	}

	#kv .cv_btn_h {
		position: absolute;
		width: 350px;
		top: 710px;
	}

	#kv .kv_main {
		position: absolute;
		bottom: 0;
		left: 25%;
		right: 0;
		width: 520px;
		margin: auto;
	}

	#kv .kv_label {
		position: absolute;
		bottom: 170px;
		right: auto;
		width: 390px;
	}

	#kv::after {
		position: absolute;
		content: '';
		width: 145px;
		height: 60px;
		top: 675px;
		left: 31%;
		transform: translateX(-22%);
		background: url("../images/fv_icon.png") center / cover;
		z-index: 999;
	}
}

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

	#kv {
		position: relative;
		background: #5bc9db;
		background: linear-gradient(90deg, rgba(91, 201, 219, 1) 0%, rgba(55, 159, 214, 1) 100%);
		height: 680px;
		box-sizing: border-box;
		margin: 75px auto 65px;
		overflow: hidden;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	#kv .cc {
		font-size: 18px;
		font-weight: 700;
		line-height: 2;
	}

	#kv .cc span {
		display: inline;
	}

	#kv h1 {

		margin: auto;
		font-size: 4.5vw;
		line-height: 1.8;
		color: #fff;
	}

	#kv h1 span {
		font-size: 9.0vw;
		display: inline-block;
		line-height: 1.3;
		margin-top: 0.1em;
	}

	#kv h1 span.service_name {
		margin-top: -10px;
	}

	#kv .cv_btn_h {
		position: absolute;
		width: 80%;
		top: 595px;
	}

	#kv .kv_main {
		position: absolute;
		top: 305px;
		bottom: auto;
		left: 3%;
		right: 0;
		width: 92%;
		margin: auto;
	}

	#kv .kv_label {
		position: absolute;
		bottom: 105px;
		right: 7%;
		margin: auto;
		width: 52%;
	}

	#kv::after {
		position: absolute;
		content: "";
		width: 145px;
		height: 60px;
		top: 565px;
		left: 16%;
		background: url("../images/fv_icon.png") center / cover;
		z-index: 999;
	}

	.cv_btn_h p::before {
		width: 24px;
		height: 5px;
		top: 55%;
		right: -37px;
		transform: translateY(-55%);
		background: url("../images/fv_btn_arrow.png") center / cover;

	}

}

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

	#kv {
		height: 650px;
	}

	#kv .kv_main {
		position: absolute;
		top: auto;
		bottom: 0;
		left: 2%;
		right: 0;
		width: 100%;
		margin: auto;
	}


	#kv .cc {
		top: 30px;
	}

	#kv h1 {
		top: 115px;
	}

	#kv .cv_btn_h {
		top: 575px;
	}

	#kv .kv_main {
		top: 275px;
	}

	#kv .kv_label {
		bottom: 105px;
	}

	#kv::after {
		top: 535px;
	}
}

/* スライダー */
.swiper {
	overflow: visible !important;
	overflow-x: clip !important;
	padding: 0 15px;
}

/*********** CONCEPT ***********/

.concept {
	position: relative;
	background: url("../images/img_philo_bg.png") no-repeat center / cover;
	width: 100%;
	margin: 100px auto ;
	padding: 100px 0;
	border-radius: 0 0 0 0;
}

.concept p {
	line-height: 2.0;
	position: relative;
	z-index: 999;
}

.concept .img1 {
	position: absolute;
	width: 15%;
	top: 50%;
	min-width: 228px;
	left: 0;
	right: -30%;
	margin: auto;
}

.concept .img2 {
	position: absolute;
	width: 15%;
	min-width: 211px;
	bottom: -10%;
	left: 0;
	right: -55%;
	margin: auto;
}

@media screen and (max-width: 1120px) {
	.concept .img1 {
		width: 25%;
		top: unset;
		bottom: -22%;
		min-width: auto;
		right: -19%;
	}

	.concept .img2 {
			min-width: auto;
		width: 25%;
		bottom: -13%;
		right:-65%;
	}

	.concept {
		position: relative;
		background: url("../images/img_philo_bg.png") no-repeat center / cover;
		width: 100%;
		border-radius: 0 0 0 0;
			margin: 100px auto 200px;
	}
}

/*********** SERVICE ***********/

.service .benefit_box .col2_box li:last-child {
	width: 100%;
}

.service .benefit_box .txt_box img {
	width: 65px;
}

.service .benefit_box .detail_box {
	width: 100%;
	background: #E6F9FF;
	padding: 10px 13px;
	margin-top: 10px;
	box-sizing: border-box;
	border-radius: 10px;
	line-height: 1.5;
}

.service .benefit_box>li {
	width: 47%;
}

.service .skill_box1 ul li {
	font-size: 0.9em;
	line-height: 1.5;
}

.service .skill_box1 ul li img {
	width: 80%;
}

.service .skill_box2 ul li {
	width: 48%;
	margin: 0;
}

/*********** DATA ***********/

.data {
	padding: 15% 0 0;
}

/*********** FEATURES ***********/

.features {
	background: #FFF9E0;
	padding: 15% 0;
	margin: 0;
}

.features article {
	position: relative;
	background: #fff;
	padding: 7%;
	border-radius: 20px;
}

.features article li:nth-child(1) {
	width: 100%;
	margin-top: 5%;
	order: 2;
}

.features article li:nth-child(2) {
	width: 90%;
	margin: 12% auto 0;
	order: 1;
}

.features article .feature_cc1,
.features article .feature_cc2,
.features article .feature_cc3 {
	position: absolute;
	top: -25px;
	left: 5%;
}

.features article .feature_cc1 {
	width: 90%;
}

.features article .feature_cc2 {
	width: 72%;
}

.features article .feature_cc3 {
	width: 60%;
}

.features .caption {
	position: relative;
	background: #FFED9F;
	padding: 9% 7% 7% 7%;
	border-radius: 20px;
}

.features .caption img {
	position: absolute;
	width: 95%;
	top: -10%;
	left: 0;
	right: 0;
	margin: auto;
}

@media screen and (max-width: 999px) {
		.features .caption {
				padding: 26% 7% 7% 7%;
			}

}

/*********** INTERVIEW ***********/

.interview .inner_M {
	width: 90%;
}

.interview .article {
	position: relative;
	width: 48%;
	margin: 4% auto;
}

.interview .article .label {
	position: absolute;
	width: 50px;
	top: -20px;
	left: 10px;
}

.interview .article img {
	position: relative;
	border-radius: 20px 20px 0 0;
	z-index: 98;
}

.interview .article .article_txt_box {
	position: relative;
	background: #BCE8F7;
	padding: 15px;
	margin-top: -15%;
	box-sizing: border-box;
	border-radius: 20px;
	z-index: 99;
}

.interview .article .article_txt_box p {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1.0em;
}

.interview .article .article_txt_box .movie_btn {
	position: relative;
	text-align: center;
	font-weight: 700;
	background: #fff;
	border-radius: 100px;
	padding: 0.3em;
	margin-top: 0.5em;
	box-sizing: border-box;
	cursor: pointer;
}

.interview .article .article_txt_box .movie_btn:hover {
	opacity: 0.7;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.interview .article .article_txt_box .movie_btn::after {
	position: absolute;
	content: "＋";
	top: 0.3em;
	right: 1em;
}

/*********** MODAL ***********/

/* モーダルCSS */
.modalWrapper {
	position: relative;
	width: 90%;
	max-width: 1060px;
	background: #fff;
	border-radius: 20px;
	padding: 10% 5%;
	margin: 70px auto;
	box-sizing: border-box;
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.15);
	z-index: 9998;
}

.modal_cont h2 {
	font-size: 17px;
}

.modal_cont .youtube {
	width: 100%;
	max-width: 640px;
	margin: 5% auto;
}

.modal_cont .youtube iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.modal_cont .cv_area {
	margin: 8% auto 0;
	text-align: center;
}

.modalWrapper .closeModal {
	position: absolute;
	width: 35px;
	top: -15px;
	right: 20px;
	cursor: pointer;
	z-index: 9999;
}

/*********** COURSE ***********/

.course .cp_box2 {
	margin-top: 25px;
}

/*タブ切り替え全体のスタイル*/
.tabs {
	width: 100%;
}

/*タブのスタイル*/
.tab_item1,
.tab_item2,
.tab_item3 {
	width: 30%;
	padding: 10.65% 0;
	background: url("../images/tab1_off_sp.png") no-repeat center / cover;
	display: block;
	cursor: pointer;
	float: left;
	margin: 0 0.5% 0 4.5%;
}

.tab_item2 {
	background: url("../images/tab2_off_sp.png") no-repeat center / cover;
	margin-left: 0;
}

.tab_item3 {
	background: url("../images/tab3_off_sp.png") no-repeat center / cover;
	margin-left: 0;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
	display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
	display: none;
	padding: 8% 4%;
	box-sizing: border-box;
	border: 2px solid #000;
	border-radius: 10px;
	clear: both;
	overflow: hidden;
}

.tab_content .ttl_course {
	margin: 10px auto 20px;
}

.tab_content .course_cont .label {
	width: 60%;
	font-size: 15px;
	font-weight: 700;
	padding: 0.2em 1.0em;
	margin: 1.0em auto;
	text-align: center;
	border-radius: 100px;
	border: 2px solid #000;
	display: block;
}

.tab_content .course_cont p.txt_L {
	margin-top: 1.0em;
}

.tab_content .course_cont .lesson_list {
	width: 100%;
	background: #FFF6C3;
	border-radius: 20px;
	padding: 5%;
	margin: 30px 0 50px;
	box-sizing: border-box;
}

.tab_content .course_cont .lesson_list h3 {
	font-size: 14px;
}

.tab_content .course_cont .layout_box_col2 p {
	margin-right: 0;
}

.tab_content .course_cont .layout_box_col2:last-child {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 0;
}

.tab_content .chart_box {
	width: 100%;
	overflow-x: scroll;
}

.tab_content .chart_box img {
	width: 210%;
}

/*選択されているタブのコンテンツのみを表示*/
#course1:checked~#course1_content,
#course2:checked~#course2_content,
#course3:checked~#course3_content {
	display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked+.tab_item1 {
	background: url("../images/tab1_active_sp.png") no-repeat center / cover;
}

.tabs input:checked+.tab_item2 {
	background: url("../images/tab2_active_sp.png") no-repeat center / cover;
}

.tabs input:checked+.tab_item3 {
	background: url("../images/tab3_active_sp.png") no-repeat center / cover;
}


/*********** FLOW ***********/

.flow .inner_S {
	width: 50%;
	margin: auto;
}


/*********** FAQ ***********/

.faq {
	background: #E6F9FF;
	padding: 15% 0 10%;
	margin: 0;
}

/*アコーディオン全体*/
.accordion-area {
	list-style: none;
	width: 100%;
	margin: 5% 0 0 auto;
}

.accordion-area li {
	background: #fff;
	border-radius: 10px;
	margin: 3% 0;
	padding: 3% 0;
}

/*アコーディオンタイトル*/
.title {
	position: relative;
	/*+マークの位置基準とするためrelative指定*/
	cursor: pointer;
	padding: 5px 40px;
	margin: 0 5%;
	transition: all .3s ease;
	background: url("../images/icon_faq_q.png") no-repeat center left;
	background-size: 25px;
	line-height: 1.5;
	font-size: 1.1rem;
}

/*アイコンの＋と×*/
.title::before,
.title::after {
	position: absolute;
	content: '';
	width: 15px;
	height: 2px;
	background-color: #000;
}

.title::before {
	top: 50%;
	right: 5px;
	transform: rotate(0deg);
}

.title::after {
	top: 50%;
	right: 5px;
	transform: rotate(90deg);
}

/*　closeというクラスがついたら形状変化　*/
.title.close::before {
	top: 50%;
	right: 5px;
	transform: rotate(0deg);
}

.title.close::after {
	display: none;
}

/*アコーディオンで現れるエリア*/
.answer_box {
	display: none;
	/*はじめは非表示*/
	background: url("../images/icon_faq_a.png") no-repeat top left;
	background-size: 25px;
	margin: 2% 5% 0;
	padding: 5px 40px;
}


}