@charset "UTF-8";
/*PCのみ表示(640px以下非表示)*/
@media screen and (max-width: 640px) {
	.visible-pc {
		display: none !important;
	}
}
/*SPのみ表示(641px以上非表示)*/
@media screen and (min-width: 641px) {
	.visible-sp {
		display: none !important;
	}
}
/*PCのみ非表示(640px以上非表示)*/
@media screen and (min-width: 640px) {
	.hidden-pc {
		display: none !important;
	}
}
/*SPのみ非表示(641px以下非表示)*/
@media screen and (max-width: 641px) {
	.hidden-sp {
		display: none !important;
	}
}
/* ==========================================================================
 * Font face
 * ========================================================================== */
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
/* ==========================================================================
 * Root
 * ========================================================================== */
*, ::before, ::after {
	background-repeat: no-repeat;
	box-sizing: border-box;
}
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
}
body {
	min-width: 1000px;
	margin: 0 auto;
	font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", Meiryo, Osaka, sans-serif;
	font-size: 1.6em;
	font-size: 1.6rem;
	line-height: 1.5;
	background-color: #fff;
}
@media screen and (max-width: 640px) {
	body {
		max-width: 640px;
		min-width: inherit;
	}
}
/* ==========================================================================
 * HTML5 display definitions
 * ========================================================================== */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}
audio, canvas, progress, video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
/* ==========================================================================
 * Anchor
 * ========================================================================== */
a:link, a:visited {
	background-color: transparent;
	color: #000;
	text-decoration: none;
}
a:active, a:hover {
	outline: 0;
}
/* ==========================================================================
 * Embedded
 * ========================================================================== */
img {
	border: 0;
	vertical-align: top;
}
@media screen and (max-width: 640px) {
	img {
		width: 100%;
	}
}
svg:not(:root) {
	overflow: hidden;
}
/* ==========================================================================
 * Grouping
 * ========================================================================== */
figure {
	margin: 0;
}
hr {
	box-sizing: content-box;
	height: 0;
	border: none;
	border-top: 1px solid #bbb;
}
dd {
	margin-left: 0;
}
/* ==========================================================================
 * Float
 * ========================================================================== */
.clear {
	clear: both;
}
.clearfix:before, .clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}
/* ==========================================================================
 * List
 * ========================================================================== */
ul, ol, dl {
	margin: 0;
	padding: 0;
	list-style: none;
}
/* ==========================================================================
 * Text
 * ========================================================================== */
b, strong {
	font-weight: bold;
}
mark {
	background: #ff0;
	color: #000;
}
small, .txt--small {
	font-size: 80%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
address {
	font-style: normal;
}
h1, h2, h3, h4, h5 {
	margin: 0;
	padding: 0;
}
p {
	margin: 0;
}
.txt--left {
	text-align: left;
}
.txt--center {
	text-align: center;
}
.txt--right {
	text-align: right;
}
.txt--unbold {
	font-weight: normal;
}
.txt--large {
	font-size: xx-large;
}
@media screen and (max-width: 640px) {
	.txt--large {
		font-size: 5vw;
	}
}
.txt--large2 {
	font-size: 6rem;
}
@media screen and (max-width: 640px) {
	.txt--large2 {
		font-size: 6vw;
	}
}
.txt--bold {
	font-weight: bold;
}
.txt--emphasis {
	color: #e74c3c;
}
.txt--notes {
	color: #7f8c8d;
}
.txt--blue {
	color: #2263b3;
}
.txt--line {
  background: linear-gradient(transparent 90%, #42bbce 80%);
}
/* ==========================================================================
 * Arrow
 * ========================================================================== */
@media screen and (max-width: 640px) {
	.arrow{
		position: relative;
	}
	.arrow::before,
	.arrow::after{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	.arrow-btm::after{
		right: 10px;
		top: -3px;
		width: 10px;
		height: 10px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.arrow-top::after{
		right: 10px;
		top: 3px;
		width: 10px;
		height: 10px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(-46deg);
		transform: rotate(-46deg);
	}
}
.question--list .arrow{
	position: relative;
}
.question--list .arrow::before,
.question--list .arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.question--list .arrow-btm::after{
	right: 10px;
	top: -3px;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.question--list .arrow-top::after{
	right: 10px;
	top: 3px;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(-46deg);
	transform: rotate(-46deg);
}

/* ==========================================================================
 * Common
 * ========================================================================== */
#page__container {
	max-width: 2000px;
	margin: 0 auto;
}
.inner--width {
	width: 1000px;
	margin: 0 auto;
}
.content-bg {
	background: #2263b3;
}
@media screen and (max-width: 640px) {
	#page__container {
		max-width: 640px;
		margin: 0 auto;
	}
	.inner--width {
		width: 100%;
	}
}
/*-------------------- Back to Top --------------------*/
a.backtotop {
	position: fixed;
	bottom: 30px;
	right: 5%;
	width: 40px;
	height: 40px;
	padding: 38px 0 0;
	background-color: #ccc;
	color: #fff;
	text-align: center;
	font-size: 14px;
	cursor: pointer;
	opacity: .5;
	border-radius: 50%;
	z-index: 998;
}
a.backtotop::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 17.3px 10px;
	border-color: transparent transparent #ffffff transparent;
}
@media screen and (max-width: 640px) {
	a.backtotop {
		bottom: 15px;
		right: 2%;
	}
}
/* ==========================================================================
 * CTA
 * ========================================================================== */
.cta {
	background: #fff;
	padding: 60px 0;
}
.cta p {
	margin: 40px 0 0;
	text-align: center;
}
.cta p span {
	display: block;
	margin: 5px 0 0;
	text-align: center;
}
.cta-tl {
	padding: 0 0 20px;
	text-align: center;
}
.cta-list {
	align-items: center;
	display: flex;
	padding: 0 20px;
	justify-content: space-between;
}
.ft__cta {


	position: fixed;
	bottom: 0;
	width: 100%;
	padding: 10px 0;
	background: #fff;
	text-align: center;
	z-index: 997;
}
@media screen and (max-width: 640px) {
	.cta {
		padding: 10% 5%;
	}
	.cta-tl {
		padding: 0 0 5%;
	}
	.cta-list {
		display: block;
		padding: 0;
	}
	.cta p {
		margin: 30px 0 0;
	}
	.cta p span {
		line-height: 1;
	}
	.cta p small {
		font-size: x-small;

	}
	.cta-tel-txt {
		padding: 5% 0 3%;
	}
	.ft__cta {
		padding: 0;
	}
}
/* ==========================================================================
 * Hd
 * ========================================================================== */
.hd__top--list {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
}
.hd__top--list a {
	text-decoration: underline;
}
.hd__top--list li:last-child {
	text-align: right;
}
.hd__top--list i {
	color: #666;
}
.hd__content--bg {
	background: url("../images/fv_bg.jpg") no-repeat top center;
	min-height: 617px;
	padding: 30px 0 0;
}
@media screen and (max-width: 640px) {
	.hd__top--list {
		padding: 0;
	}
	.hd__top--list li:first-child {
		width: 50%;
	}
	.hd__top--list li:last-child {
		font-size: 3vw;
		padding: 0 5%;
		text-align: center;
	}
	.hd__content--bg {
		background: none;
		min-height: auto;
		padding: 0;
	}
}
/* ==========================================================================
 * Gnavi
 * ========================================================================== */
.gnavi {
	position: fixed;
	top: 0;
	z-index: 998;
	background: #fff;
	box-shadow: 0px 6px 19px -5px #e1e6ed;
	width: 100%;
}
.gnavi ul {
	align-items: center;
	display: flex;
}
.gnavi ul li {
	border-left: 1px solid #f0f0f0;
	flex: 1;  
	flex-basis: auto;
	padding: 0 10px;
	text-align: center;
}
.gnavi ul li:first-child {
	border-left: none;
}
.gnavi ul li a {
	color: #42bbce;
	display: block;
	font-weight: bold;
	line-height: 60px;
	padding: 3px 0;
}
.gnavi ul li i {
	padding: 0 10px 0 0;
}
@media screen and (max-width: 640px) {
.gnavi ul li {
	padding: 10px;
	width: 100%;
}
.gnavi ul li a {
	font-size: small;
	line-height: 20px;
	padding: 3px 0;
}
.gnavi ul li i {
	display: block;
	margin: 0 auto;
	padding: 0;
}
.gnavi ul li span {
	display: block;
	padding: 13px 0 0;
}
}
/* ==========================================================================
 * Point
 * ========================================================================== */
.point {
	background: #42bbce;
	margin: 0 0 50px;
}
.point ul {
	align-items: center;
	display: flex;
	justify-content: space-around;
}
.point ul li {
	align-items: center;
	border-right: 1px solid #fff;
	display: flex;
	-webkit-transform: skewX(169deg);
	-moz-transform: skewX(169deg);
	transform: skewX(169deg);
	min-height: 98px;
	padding: 20px;
}
.point ul li:first-child {
	border-left: 1px solid #fff;
}
.point ul li img {
	display: block;
	transform: skewX(-169deg);
}
@media screen and (max-width: 640px) {
	.point {
		background: none;
		margin: 0 0 10%;
	}
}
/* ==========================================================================
 * CTA
 * ========================================================================== */
.fv-cta {
	margin: 0 auto 100px;
	padding: 0;
	text-align: center;
}
.fv-cta p {
	margin: 40px 0 0;
	text-align: center;
}
.fv-cta p span {
	display: block;
	text-align: center;
}
@media screen and (max-width: 640px) {
	.fv-cta {
		margin: -10% 0 10%;
		padding: 0 5%;
		text-align: center;
	}
	.fv-cta p {
		margin: 10px 0 0;
	}
	.fv-cta p span {
		display: block;
		margin: 5px 0 0;
		line-height: 1;
		text-align: center;
	}
	.fv-cta p small {
		font-size: x-small;
	}
}
.cta {
	background: url("../images/cta_bg.png") no-repeat top center;
	padding: 120px 0 110px;
}
.cta div {
	text-align: center;
}
@media screen and (max-width: 640px) {
	.cta {
		background: url("../images/cta_bg@2x.png") no-repeat top center / 100%;
		padding: 10% 5% 15%;
	}
}
/* ==========================================================================
 * Skill
 * ========================================================================== */
.skill__tl {
	background: url("../images/skill_ic_star.png") no-repeat left 0 bottom 10%;
	color: #42bbce;
	font-size: 4.0rem;
	margin: 0 auto;
	padding: 0 0 50px;
	text-align: center;
	width: 1000px;
}
.skill__tl.arrow--btm {
    position: relative;
}
.skill__tl.arrow--btm::before,
.skill__tl.arrow--btm::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: -130px;
    left: 0;
	right: 0;
    margin: auto;
    vertical-align: middle;
}
.skill__tl.arrow--btm:before {
    border: 20px solid transparent;
    border-top: 20px solid #42bbce;
    box-sizing: border-box;
    height: 20px;
    width: 20px;
}
.skill__wrap {
	background: url("../images/skill_bg.png") no-repeat top center;
	min-height: 495px;
}
.skill__list {
	display: flex;
	flex-wrap: wrap;
	padding: 40px 0 0;
}
.skill__list li {
	display: flex;
	margin: 0 15px 15px 0;
	width: 323px;
}
.skill__list li:nth-child(3),
.skill__list li:last-child {
	margin: 0 0 15px 0;
}
.skill__list li dl {
	flex-wrap: wrap;
	display: flex;
}
.skill__list li dd {
	background: #fff;
	border-radius: 0 0 3px 3px;
	min-height: 88px;
	padding: 20px;
	width: 100%;
}
.skill--txt {
	text-align: center;
}
@media screen and (max-width: 640px) {
	.skill {
		background: url("../images/skill_bg@2x.jpg") no-repeat top center / 100%;
	}
	.skill__tl {
		background: none;
		font-size: 0;
		padding: 10% 0 5%;
		width: 100%;
	}
	.skill__tl.arrow--btm:before {
		border: none;
	}
	.skill__wrap {
		background: none;
		min-height: auto;
	}
	.skill__list {
		padding: 5% 5% 0;
		justify-content: space-between;
	}
	.skill__list li {
		display: flex;
		margin: 0 0 5%;
		width: 48%;
	}
	.skill__list li:nth-child(3),
	.skill__list li:last-child {
		margin: 0 0 5%;
	}
	.skill__list li:nth-child(5),
	.skill__list li:last-child {
		position: relative;
		z-index: 1;
	}
	.skill__list li dd {
		border-radius: 0 0 5px 5px;
		height: 60%;
		font-size: 4vw;
		padding: 5%;
	}
	.skill-excel {
		border: 2px solid #63b687;
		border-top: none;
	}
	.skill-toeic {
		border: 2px solid #217dd8;
		border-top: none;
	}
	.skill-office {
		border: 2px solid #4da7f1;
		border-top: none;
	}
	.skill-accounting {
		border: 2px solid #ee96ba;
		border-top: none;
	}
	.skill-trade {
		border: 2px solid #bca2f2;
		border-top: none;
	}
	.skill-sales {
		border: 2px solid #f5886f;
		border-top: none;
	}
	.skill--txt {
		background: #f4f6fb;
	}
}
/* ==========================================================================
 * Joblist
 * ========================================================================== */
.joblist {
	margin: 80px auto 40px;
}
.joblist__tl {
	margin: 80px 0 60px;
	padding: 0 0 60px;
	text-align: center;
}
.joblist-ul {
	display: flex;
	flex-wrap: wrap;
}
.joblist-ul li {
	display: flex;
	margin: 0 20px 70px 0;
	width: 320px;
}
.joblist-ul li:nth-child(3),
.joblist-ul li:last-child {
	margin: 0 0 70px 0;
}
.joblist-ul li dt {
	margin: -60px 0 0;
	padding: 0 0 20px;
	text-align: center;
}
.joblist-ul li dd {
	background: #fff;
	border-radius: 3px;
	padding: 20px;
}
.joblist-last-datalist {
	margin: 20px 0 0;
}
.joblist .txt-block {
	display: block;
	margin: 5px 0 0;
}
.joblist-excel {
	background: url("../images/joblist_bg_excel.png");
	border-radius: 3px;
	padding: 20px;
}
.joblist-toeic {
	background: url("../images/joblist_bg_toeic.png");
	border-radius: 3px;
	padding: 20px;
}
.joblist-office {
	background: url("../images/joblist_bg_office.png");
	border-radius: 3px;
	padding: 20px;
}
.joblist-accounting {
	background: url("../images/joblist_bg_accounting.png");
	border-radius: 3px;
	padding: 20px;
}
.joblist-trade {
	background: url("../images/joblist_bg_trade.png");
	border-radius: 3px;
	padding: 20px;
}
.joblist-sales {
	background: url("../images/joblist_bg_sales.png");
	border-radius: 3px;
	padding: 20px;
}
.joblist--txt {
	margin: -40px 0 0;
	text-align: center;
}
@media screen and (max-width: 640px) {
	.joblist {
		background: url("../images/joblist_bg@2x.png") no-repeat bottom center / 100%;
		margin: 0 0 5%;
		padding: 5% 0 70%;
	}
	.joblist__tl {
		margin: 0;
		padding: 0 0 10%;
		text-align: center;
	}
	.joblist-ul {
		padding: 0;
	}
	.slick-dots li {
		pointer-events: auto !important;
	}
	.joblist .slick-prev {
		left: 15px !important;
		z-index: 1;
	}
	.joblist .slick-next {
		right: 15px !important;
	}
	.slick-prev:before,
	.slick-next:before {
		color: #000 !important;
	}
	.slick-list,
	.slick-track {
		display: flex !important;
	}
	.joblist-ul li.on-hidden {
		margin: 0;
		width: auto;
	}
	.joblist-ul li:nth-child(3),
	.joblist-ul li:last-child {
		margin: 0;
	}
	.joblist-dl {
		background: none;
		padding: 0 5% 5%;
	}
	.joblist-detail dl {
	    display: flex;
	    margin-top: 0.7em;
	}
	.joblist-ul li dt {
		padding: 0;
		text-align: center;
		color: #fff;
		width: 5em;
		border-radius: 3px;
		background: #42bbce !important;
		margin: 0 .5em 0 0;
	}
	.joblist-ul .joblist-detail dd {
		padding: 0;
	}
	.joblist-ul li dt span {
		display: inline-block;
		margin: 0 0 0 -20px;
		padding: 10px 0 10px 50px;
		text-align: left;
	}
	.joblist-job {
		border: solid 2px #42bbce;
		border-radius: 3px;
		margin-top: 20px;
	}
	.joblist-last-datalist {
		margin: 5% 0 0;
	}
	.joblist .txt-block {
		margin: 3% 0 0;
	}
	.joblist-excel {
		background: #ecfcf3 !important;
		padding: 0;
	}
	.joblist-excel dt {
		border-bottom: 1px dotted #63b687;
		color: #63b687;
	}
	.joblist-excel dt span {
		background: url("../images/joblist_subtl_excel_logo@2x.png") no-repeat left top 50% / 40px;
	}
	.joblist-excel dd {
		background: #ecfcf3 !important;
	}
	.joblist-toeic {
		background: #ecf6ff !important;
		padding: 0;
	}
	.joblist-toeic dt {
		border-bottom: 1px dotted #217dd8;
		color: #217dd8;
	}
	.joblist-toeic dt span {
		background: url("../images/joblist_subtl_toeic_logo@2x.png") no-repeat left top 50% / 40px;
	}
	.joblist-toeic dd {
		background: #ecf6ff !important;
	}	
	.joblist-office {
		background: #dff1ff !important;
		padding: 0;
	}
	.joblist-office dt {
		border-bottom: 1px dotted #4da7f1;
		color: #4da7f1;
	}
	.joblist-office dt span {
		background: url("../images/joblist_subtl_office_logo@2x.png") no-repeat left top 50% / 40px;
	}
	.joblist-office dd {
		background: #dff1ff !important;
	}
	.joblist-accounting {
		background: #fff2f7 !important;
		padding: 0;
	}
	.joblist-accounting dt {
		border-bottom: 1px dotted #ee96ba;
		color: #ee96ba;
	}
	.joblist-accounting dt span {
		background: url("../images/joblist_subtl_accounting_logo@2x.png") no-repeat left top 50% / 40px;
	}
	.joblist-accounting dd {
		background: #fff2f7 !important;
	}
	.joblist-trade {
		background: #f5f0ff !important;
		padding: 0;
	}
	.joblist-trade dt {
		border-bottom: 1px dotted #bca2f2;
		color: #bca2f2;
	}
	.joblist-trade dt span {
		background: url("../images/joblist_subtl_trade_logo@2x.png") no-repeat left top 50% / 40px;
	}
	.joblist-trade dd {
		background: #f5f0ff !important;
	}
	.joblist-sales {
		background: #fff0ec !important;
		padding: 0;
	}
	.joblist-sales dt {
		border-bottom: 1px dotted #f5886f;
		color: #f5886f;
	}
	.joblist-sales dt span {
		background: url("../images/joblist_subtl_sales_logo@2x.png") no-repeat left top 50% / 40px;
	}
	.joblist-sales dd {
		background: #fff0ec !important;
	}
	.joblist-area {
		display: none;
	}
	.joblist-dl::after {
		display: none;
	}
	.joblist-about {
		color: #42bbce;
		font-weight: bold;
		border-bottom: solid 1px #42bbce !important;
		padding-bottom: 0.3em;
	}
	.joblist-income {
		color: #42bbce !important;
		border: solid 1px #42bbce !important;
		margin-top: 0.7em;
		border-radius: 3px;
		text-align: center;
		font-weight: bold;

	}
	.joblist-income span {
	    font-size: 2.4rem;
	}
	.joblist__btn-area {
		padding: 0 5% 2%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
		margin-top: .5em;
	}
	.tab_item {
		background: #e6f5f7;
		color: #42bbce;
		width: 30%;
		padding: 1em .5em;
		font-size: 1.4rem;
		text-align: center;
		border-radius: 3px;
		margin: 1em 0 0;
		box-shadow: 0 4px #a5dbe4;
	}
	input[name="tab_item"] {
		display: none;
	}
	.tab_item.active {
		background-color: #42bbce;
		color: #fff;
		transform: translateY(4px);
		transition: all 0.3s;
		box-shadow: none;
	}
	.joblist-ul li {
		display: none;
	}
	.joblist-ul li.active {
		display: block;
	}
}
/* ==========================================================================
 * Office Work
 * ========================================================================== */
.office_work {
	margin: 0 5% 10%;
}
/* ==========================================================================
 * Welfare
 * ========================================================================== */
.welfare {
	margin: 0 0 80px;
}
.welfare__tl {
	margin: 80px auto 60px;
	text-align: center;
}
.welfare__list {
	padding: 0 auto;
}
.welfare__list dt {
	margin: 0 0 30px;
	text-align: center;
}
.welfare__list dd ul {
	display: flex;
	margin: 0 0 40px;
	justify-content: space-between;
}
.welfare__list dd li {
	margin: 0 10px 0 0;
}
.welfare__list dd li:last-child {
	margin: 0;
}
.welfare__subtl1 {
	background: linear-gradient(0deg, rgba(0,193,207,1) 0%, rgba(55,176,195,1) 100%);
	padding: 50px 0;
}
.welfare__subtl2 {
	background: linear-gradient(0deg, rgba(123,223,223,1) 0%, rgba(22,197,215,1) 100%);
	padding: 50px 0;
}
.welfare__subtl3 {
	background: linear-gradient(0deg, rgba(1,213,196,1) 0%, rgba(0,203,203,1) 100%);
	padding: 50px 0;
}
.welfare__subtl1 span,
.welfare__subtl2 span,
.welfare__subtl3 span {
	display: block;
	text-align: center;
}
.welfare-lead {
	font-size: x-large;
	padding: 50px 0;
	text-align: center;
}
.welfare-point1-ct,
.welfare-point3-ct {
	margin: 0 -10px 120px 0;
}
.welfare-point2-ct {
	flex-wrap: wrap;
	display: flex;
	justify-content: space-between;
	padding: 0 0 100px;
}
.welfare-point2-ct li {
	margin: 0 0 20px;
}
@media screen and (max-width: 640px) {
	.welfare {
		margin: 0 0 5%;
	}
	.welfare__tl {
		margin: 5% 0 10%;
		padding: 0 5%;
	}
	.welfare__list {
		padding: 0 5%;
	}
	.welfare__list dt img {
		width: 60%;
	}
	.welfare__subtl1 {
		background: none;
		padding: 0;
	}
	.welfare__subtl2 {
		background: none;
		padding: 0;
	}
	.welfare__subtl3 {
		background: none;
		padding: 0;
	}
	.welfare__subtl1 span,
	.welfare__subtl2 span,
	.welfare__subtl3 span {
		display: block;
		text-align: center;
	}
	.welfare-lead {
		font-size: 1.6rem;
		padding: 10% 0;
	}
	.welfare-point1-ct,
	.welfare-point3-ct {
		margin: 0 0 10%;
	}
	.welfare-point2-ct {
		flex-wrap: wrap;
		display: flex;
		justify-content: space-between;
		padding: 0 5% 5%;
	}
	.welfare-point2-ct li {
		margin: 0 0 5%;
	}
}
/* ==========================================================================
 * Area
 * ========================================================================== */
.area {
	margin: 0 auto;
}
.area__tl {
	margin: 80px 0 60px;
	text-align: center;
}
.area__tl p {
	font-size: small;
	font-weight: normal;
	margin: 10px 0 0;
	text-align: right;
}
.area dd li iframe {
	border: none;
	height: 200px;
	margin: 10px 0 0;
	width: 100%;
}
@media screen and (min-width: 641px) {
	.area-map {
		background: url("../images/area_map.png") no-repeat top center;
		margin: 0 0 100px;
		min-height: 701px;
		min-width: 926px;
		position: relative;
	}
	.area-map dl dt {
		background: #00cbcb;
		color: #fff;
		text-align: center;
		margin: 0 0 10px;
		padding: 5px 10px;
	}
	.area-map ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		width: 100%;
	}
	.area-map li {
		font-size: 1.6rem;
		padding: 0 10px 5px 0;
		text-decoration: underline;
	}
	.area-map li::before {
		content: ">";
	}
	.area-map .tohoku {
		position: absolute;
		top: 173px;
		right: -20px;
		width: 150px;
	}
	.area-map .tohoku li {
		width: 50%;
	}
	.area-map .koshin {
		position: absolute;
		top: 340px;
		right: -20px;
		width: 245px;
	}
	.area-map .koshin li {
		width: 33%;
	}
	.area-map .shuto {
		position: absolute;
		top: 485px;
		right: -20px;
		width: 245px;
	}
	.area-map .shuto li {
		width: 50%;
	}
	.area-map .tokai {
		position: absolute;
		top: 560px;
		right: 190px;
		width: 250px;
	}
	.area-map .tokai li {
		width: 50%;
	}
	.area-map .hokuriku {
		position: absolute;
		top: -10px;
		left: 355px;
		width: 120px;
	}
	.area-map .hokuriku li {
		width: 50%;
	}
	.area-map .kinki {
		border: 1px dotted #00cbcb;
		border-radius: 10px;
		position: absolute;
		top: 97px;
		left: 210px;
		padding: 20px;
		width: 300px;
	}
	.area-map .kinki li {
		width: 50%;
	}
	.area-map .chugoku {
		position: absolute;
		top: 295px;
		left: 100px;
		width: 250px;
	}
	.area-map .chugoku li {
		width: 25%;
	}
	.area-map .shikoku {
		position: absolute;
		bottom: 45px;
		left: 370px;
		width: 130px;
	}
	.area-map .shikoku li {
		width: 50%;
	}
	.area-map .kyushu {
		position: absolute;
		bottom: -55px;
		left: 50px;
		width: 350px;
	}
	.area-map .kyushu li {
		width: 25%;
	}
	/*-- tooltip --*/
	.tooltip {
		position: relative;
		cursor: pointer;
	}
	.tooltip-text {
		color: #fff;
		border-radius: 5px;
		background: #42bbce;
		display: none;
		position: absolute;
		padding: 10px;
		width: 400px;
	}
	.tooltip-text:before {
		border: 15px solid transparent;
		border-top: 15px solid #42bbce;
		content: "";
		margin: 0 0 0 -15px;
		position: absolute;
		top: -24px;
		right: 60%;
		transform: rotateZ(180deg);
	}
	.tooltip:hover .tooltip-text,
	.tooltip .tooltip-text:hover {
		display: inline-block;
		animation: fadein 0.5s linear 0s 1 both;
		top: 30px;
		left: -30px;
		z-index: 999;
	}
}
@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}
@media screen and (max-width: 640px) {
	.area {
		margin: 0;
	}
	.area__tl {
		position: relative;
		margin: -10% 0 5%;
		z-index: -1;
	}
	.area__tl p {
		font-size: 1.2rem;
		margin: -11% 5% 0;
	}
	.area dl {
		padding: 0 5%;
	}
	.area dt {
		background: #42bbce;
		color: #fff;
		display: none;
		margin: 0 0 1%;
		padding: 5% 2%;
		border-radius: 3px;
	}
	.area dt span {
		display: block;
	}
	.area dd ul {
		display: flex;
		flex-wrap: wrap;
		padding: 0 0 10%;
	}
	.area dd li {
		border: 1px solid #42bbce;
		color: #42bbce;
		font-weight: bold;
		margin: 0 0 2%;
		padding: 5%;
		width: 100%;
	}
	.area dd li.add-open::after {
		content: "住所を閉じる";
		display: block;
		padding: 5% 0 0;
		text-align: center;
	}
	.area dd li iframe {
		display: none;
	}
	.tooltip-text {
		background: #42bbce;
		border-radius: 3px;
		color: #fff;
		display: none;
		font-weight: normal;
		margin: 2% 0 0;
		padding: 5%;
		text-align: left;
		width: 100%;
	}
}
/* ==========================================================================
 * Flow
 * ========================================================================== */
.flow {
	background: url("../images/flow_bg.png") no-repeat top center;
}
.flow__tl {
	padding: 130px 0 0;
	text-align: center;
}
/*
.flow .tabs {
	background: #fff;
	margin: -50px 0 0;
}
.tab-item {
	background: linear-gradient(0deg, rgba(161,161,161,1) 0%, rgba(198,198,198,1) 100%);
	color: #fff;
	cursor: pointer;
	display: block;
	font-size: x-large;
	float: left;
	font-weight: bold;
	line-height: 80px;
	text-align: center;
	transition: all 0.2s ease;
	width: calc(100%/2);
}
.tab-item1 {
	border: 1px solid #42bbce;
	border-bottom: 2px solid #42bbce;
	border-right: none;
}
.tab-item2 {
	border: 1px solid #a1a1a1;
	border-bottom: 2px solid #42bbce;
	border-left: none;
}
input[name="tab-item"] {
	display: none;
}
.tab-content {
	border: 1px solid #42bbce;
	clear: both;
	display: none;
	overflow: hidden;
	padding: 20px;
}
#web:checked ~ #web-content,
#visit:checked ~ #visit-content {
	display: block;
}
.tabs input:checked + .tab-item {
	background: linear-gradient(0deg, rgba(56,160,176,1) 0%, rgba(66,187,206,1) 100%);
	border: 2px solid #42bbce;
	border-bottom: 1px solid #42bbce;
	color: #fff;
	margin: 0;
	line-height: 80px;
}
*/
@media screen and (max-width: 640px) {
	.flow {
		background: none;
		padding: 0 0 40px;
	}
	.flow__tl {
		background: url("../images/flow_bg@2x.png") no-repeat top center / 100%;
		margin: -30px 0 -50px;
		padding: 80px 0;
		position: relative;
		z-index: -1;
	}
	/*
	.flow .tabs {
		background: none;
		margin: -80px 0 0;
		padding: 5%;
	}
	.tab-item {
		font-size: 5vw;
		line-height: 60px;
	}
	.tab-content {
		background: #fff;
		padding: 5%;
	}
	.tabs input:checked + .tab-item {
		line-height: 60px;
	}
	*/
}
/* ==========================================================================
 * Question
 * ========================================================================== */
.question__tl {
	margin: 10px 0 20px;
	text-align: center;
}
.question--list dt {
	background: #42bbce;
	color: #fff;
	cursor: pointer;
	font-weight: bold;
	margin: 20px 0 0;
}
.question--list dt span {
	display: block;
	padding: 20px;
}
.question--list dd {
	border: 1px solid #42bbce;
	display: none;
	padding: 20px;
}
@media screen and (max-width: 640px) {
	.question__tl {
		margin: 5% 0;
		text-align: center;
	}
	.question--list {
		padding: 0 5%;
	}
	.question--list dt {
		margin: 5% 0 0;
	}
	.question--list dt span {
		padding: 5% 10% 5% 5%;
	}
	.question--list dd {
		padding: 5%;
	}
}
/* ==========================================================================
 * Ft
 * ========================================================================== */
.ft {
	font-size: small;
	margin: 80px 0 0;
	padding: 0 0 120px;
}
.ft--bg {
	background: #42bbce;
	color: #fff;
	padding: 20px 0;
	text-align: center;
}
.ft--bg a {
	color: #fff;
	text-decoration: underline;
}
.company-link {
	padding: 0 0 10px;
}
.sanrio-copy {
	margin: 10px 0;
	padding: 0 0 50px;
	text-align: center;
}
@media screen and (max-width: 640px) {
	.ft {
		font-size: 1.2rem;
		padding: 0 0 20%;
	}
	.ft--bg {
		padding: 5% 0;
	}
	.company-link {
		padding: 0 0 5%;
	}
	.sanrio-copy {
		margin: 5% 0;
		padding: 0 0 10%;
	}
}