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

body {
	color: #222; font-size: 16px; font-weight:400; line-height: 1.8;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0 auto; height: 100%;
}

header, main, article, footer, section, aside, nav, cite, figure, figcaption {
	display: block;
}

img { border: none; vertical-align: middle; max-width: 100%; }

img.top { vertical-align: top; }
img.middle { vertical-align: middle; }

img.object_fit_img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }

address, em { font-style: normal; }

a { color: #000; text-decoration: none; }

a:hover, input[type="submit"]:hover, input[type="reset"]:hover, button:hover {
	opacity: 0.8; filter: alpha(opacity=80); -ms-filter: "alpha( opacity=80 )";
}

a.rem { color: #3AC098; text-decoration: underline; }


@keyframes fadein {
	0% { opacity: 0 } 100% { opacity: 1 }
}

/*********** class ****************************************/


/********** float ************/
.c-both { clear: both; }
.clearfix:after { content: ""; clear: both; display: block; }
.left { float: left; }
.right { float: right; }
.center { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.text_center { text-align: center; }
.text_right { text-align: right; }
.text_left { text-align: left; }
/******* end float **********/

/******* start position **********/ 

.pr { position: relative;}
.pa { position: absolute;}

/******* end position ***********/

/******* flex box ***********/
.flex,.in_flex {
	display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
	justify-content: space-between;
}
.height {
	justify-content: space-between; flex-wrap: wrap; align-items: stretch;
}


/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }

/***** contact ***************/
span.required { display:inline-block; padding:0.3em 0.3em 0.3em 0.3em; line-height: 1; font-size: 0.8em; font-weight: normal; }
span.any { display:inline-block; padding:0.3em 0.3em 0.3em 0.3em; line-height: 1; font-size: 0.8em; font-weight: normal; }
span.memo { display:block; font-size: 0.8em; }
span.error { display: block; color: #F03; font-size: 0.8em; }

/***** indent ***************/

p.indent {
	font-weight: normal;
	margin: 5px 0 5px 1em;
	text-indent: -1em;
}
span.indent {
	font-weight: normal;
	margin: 5px 0 5px 1em;
	text-indent: -1em;
	display: inline-block;
}



/****** layout ********/
.inner {
	width: 100%; max-width: 1260px; margin: 0 auto;
}
.half {
	width: 50%; max-width: 630px;
}

.heading { width: 100%; }

.third { width:29.46%; max-width:370px; }

.bottom_padding { padding-bottom:5em; }

.hidden {visibility: hidden;}
/****** end layout ********/
/**** dl table layout ************/
dl.table { display:table; }
dl.table dt,dl.table dd { display:table-cell; }

/****** display ********/

.pc { display: block; }
.sp { display: none; }

/***** link button **********/
a.more {
	display: inline-block; width: 13.5em; text-align:center;
	position:relative; cursor:pointer;
	border:none; background-color:#E96777; color:#FFF; font-size:1.4em; font-weight:700;
	padding:0.66em 1.5em 0.66em 1.5em; box-shadow: 6px 9px 1px -5px rgba(0,0,0,0.1);
	border-top-left-radius: 1.6em;
	border-bottom-left-radius: 1.6em;
	border-top-right-radius: 1.6em;
	border-bottom-right-radius: 1.6em;
}

a.blu { 
	background-color:#7AB8DB;
}

a.more i {
	position:absolute; top:1em; right:0.7em; font-size:1.1em;
}
a.more.text_green {
	display: inline-block; width: 13.84em; text-align:center;
	position:relative; cursor:pointer;
	border:none; background-color:#FFF; color:#48BDCE; font-size:1.4em; font-weight:700;
	padding:0.66em 2em 0.66em 2em; box-shadow: 6px 9px 1px -5px rgba(0,0,0,0.1);
	border-top-left-radius: 1.6em;
	border-bottom-left-radius: 1.6em;
	border-top-right-radius: 1.6em;
	border-bottom-right-radius: 1.6em;
}

a.more.bg_green {background-color: #48BDCE;}

/****** font ***********/
.text_pink { color:#E96677; }
.text_black { color:#000; }
.text_white { color:#FFF; }
.text_green { color:#48BDCE; }
.text_blue { color:#00688C; }
.text_red { color:#E96677; }
.zen { font-family: 'Zen Maru Gothic', sans-serif; }

/****** bg **************/
.bg_white { background-color:#FFF; }
.bg_pink { background-color:#E96777; }
.bg_light_pink { background-color:#FCE9EB; }
.bg_light_green { background-color: #F0FCFD; }
.bg_green { background-color: #48BDCE; }
.bg_light_yellow { background-color:#FEEF32; }
.bg_yellow { background-color:#FFD600; }
.bg_red { background-color:#E96777; }


mark.red_line { background: linear-gradient(#FFC6C7, #FFC6C7) 0 100%/0 0.3em no-repeat; transition: background 1s; background-size: 100% 0.3em; }

:root {--h-size: 152px;}
main {inline-size: 100%;overflow: hidden;margin-block-start: var(--h-size);}
/*************** end class ***************************************************************/

/*************** animation start *************************************************************/

/*************** header start ***********************************************************/

header#header {position: fixed;display: flow-root;inset: 0 0 auto 0;z-index: 3;block-size: var(--h-size);box-sizing: border-box;background: #fff;inline-size: 100%;}
header#header div.inner { width:96%; max-width: 1860px; }
header#header dl.header_left { vertical-align:middle; width: 50%; }
header#header dl.header_left dt { vertical-align:middle; width: 230px; }
header#header dl.header_left dd { vertical-align:middle; padding:0 0 0 2em; font-size:1.1em; }
header#header dl.header_left dd.sp { display:none; }
header#header dl.header_left dt h1 { margin:0; }
header#header dl.header_left dt a img { display:block; max-width:230px; width:100%; }

header#header .header_right { width:50%; text-align: right; }
header#header .header_right ul { display: inline-block; margin:0; padding:2.5em 0em 2.5em 2em; list-style:none; }
header#header .header_right ul li { margin:0; padding:0 1em 0 0; }
header#header .header_right ul li a { font-size:0.9em; }
header#header .header_right ul li a i { margin:0 0.4em 0 0; padding:0; }
header#header .header_right div.tel { display: inline-block; width:10em; font-size:1.7em; line-height:1em; font-weight:bold; }
header#header .header_right div.tel img { vertical-align: top; margin-right:0.4em; }

header#header nav { background-color:#E96777; box-shadow: 0px 5px 5px -5px rgba(0,0,0,0.3); }
header#header nav ul.inner { width: 100%; margin:0 auto; padding:0; list-style-type:none; }
header#header nav ul.inner li.left { width: calc(100% / 6); margin: 0; padding:0; border-left:solid 1px #FFF; text-align:center; box-sizing:border-box; }
header#header nav ul.inner li.left.end { border-right:solid 1px #FFF; }
nav#menu ul.inner li.left a { display:block; padding:0.5em; color:#FFF; }
nav#menu ul.inner li.left a i { color:#E96777; background-color:#FFF; border-radius:50%; margin:0 0.3em 0 0; padding: 0.4em 0 0.2em 0; width: 1.7em; font-size: 1.1em; text-align: center; }

/*************** header end *************************************************************/


/*************** 共通 *************************************************************/

.mfp-close { font-size: 3em; }


.sub_ttl { margin-top: 0; margin-bottom: 0; padding: 0 0 1.5em 0; font-size: 1.8em; font-weight: bold; }
.sub_ttl i { margin-right:0.4em; font-size:1.1em; color:#E96777; }

.sub_ttl2 { margin-top:0; margin-bottom:0; padding:0.3em 0 0.3em 0; font-size:1.8em; font-weight:bold; border-radius:0.3em; }


ul.pan { list-style-type:none; margin:0; padding:0.5em 1em 0.5em 1em; }
ul.pan li { display:inline-block; font-size:0.9em; margin:0; }
ul.pan li a { color:#00678C; }
ul.pan li i { margin:0 1em 0 1em; }

.line mark { background:linear-gradient(#4FD2DD, #4FD2DD) 0 100%/0 0.3em no-repeat; transition: background 1s; }
.line mark.active { background-size: 100% 0.3em; }
.line mark span { letter-spacing: -0.5em; }

.line mark.yellow { background:linear-gradient(#FEEF32, #FEEF32) 0 100%/0 0.3em no-repeat; transition: background 1s; }
.line mark.yellow.active { background-size: 100% 0.3em; }



header.page_header h2.line { font-size:2em; padding:0 0 1em 0; }

.new_icon { display: inline-block; padding: 0.45em 1.5em 0.45em 1.5em; border-radius: 1.1em; line-height: 1em; font-size: 0.9em; }


section.feature, section.job_change, section.voice, section.new_job { padding: 2em 0 2em 0; }

section.new_job .sub_ttl { padding: 0 0 1.1em 0; }
section.new_job span.memo { padding-bottom:0.8em; color:#666; }

input,select,textarea,button { -webkit-appearance: none; -moz-appearance: none; appearance: none; font-family: 'Noto Sans JP', sans-serif; font-size:1em; }
select:focus { outline: none; }
::-ms-expand { display: none;}

.selectwrap { position: relative; width: 12em; display:inline-block; border:solid 1px #AAAAAA; margin:0 0 0 0.5em; }

form .search_tbl select {
	width:12em; padding:0.4em; border:none; cursor:pointer; background-color: #FFF;
}

form .search_tbl .selectwrap::after {
	font-family: "Font Awesome 6 Pro";
	position:absolute; top:0; right:0; padding: 0 0.5em 0 0.5em; pointer-events: none;
	content:"\f107"; font-weight: 900; font-size:1.3em; color:#FFF; background-color:#E96777;
}

form .search_tbl label {
	position:relative;
    display: inline-block; background-color:#E8F5F7; width:16em; padding:0.5em 0.5em 0.5em 0.7em; margin:0.5em; cursor:pointer; border-radius:0.5em;
}

form .search_tbl label:hover { background-color:#F5F8F8; }
form .search_tbl label::after {
	font-family: "Font Awesome 6 Pro";
	position:absolute; top:0.15em; right:0.5em;
	content:"\f14a"; font-weight: 900; font-size:1.5em; color:#BABABA;
}
form .search_tbl input[type=checkbox] { display:none; }
form .search_tbl input[type=checkbox]:checked + label { background-color:#E96777; color:#FFF; }
form .search_tbl input[type=checkbox]:checked + label::after { color:#FFF; }

input[type=text] { width:100%; max-width:35em; padding:0.4em; border:solid 1px #AAAAAA; margin:0 0 0 0.5em; }
input[type=tel] { width:60%; max-width:25em; padding:0.4em; border:solid 1px #AAAAAA; margin:0 0 0 0.5em; }

/********* banner ************/
figure.third { margin: 0 0 2em 5.8%; }
figure.third.ml { margin: 0 0 2em 0; }
figure.third a { display:block; }
figure.third a img { box-shadow: 6px 6px 1px -2px rgba(0,0,0,0.1); border-radius: 0.5em; }
figure.third figcaption { margin-top:1em; min-height: 11em; }
figure.third figcaption a.title { font-size:1.1em; font-weight:500; }
figure.third figcaption p { font-size:0.9em; margin-top:0.5em; }

/********* end banner ********/

.border_radius_green { border:solid 2px #48BDCE; border-radius:1em; box-sizing:border-box; background-color:#FFF; padding:1em 2em 2em 2em; width:calc(100% - 4em); }
.border_radius_green_private { border:solid 2px #48BDCE; border-radius:1em; box-sizing:border-box; background-color:#FFF; padding:1em 0 0 0; width:100%; }
.private_box { margin: auto; }
.private_box .sub_ttl { padding:0 0 1em 1em; }
.private_box .sub_ttl span { font-size:1.3em; }
.private_box p ,section#top_service p { margin:0; padding:0 0 2em 1em; }


.private_box .text { width: 78%; }
.private_box div.sum { width: 20%; text-align: center; margin: -5em auto 0 auto; }
.private_box div.sum img { width: 80%; max-width:117px; }

.private_box div.stroke {
    position: relative;
    background-image: linear-gradient(-45deg, #48BDCE 49%, #8AD6DF 50%, #48BDCE 51%);
    background-size: 5px 5px;
    border-bottom-left-radius: 0.8em;
    border-bottom-right-radius: 0.8em;
    text-align: center;
    padding: 2em 8% 2em 8%;
}


aside.subscription { padding:3em 0 3em 0; }
aside.subscription .subscription_box {
	border:solid 2px #48BDCE; border-radius:1em; box-sizing:border-box; background-color:#FFF;
}
aside.subscription .subscription_box p { padding:0 2em 1em 2em; font-size:1.2em; font-weight:900;  text-shadow: 2px 0px 0px #FFF, 2px 0px 0px #FFF, 1px 2px 3px #AAAAAA; width:43em; }
aside.subscription .subscription_box p em { color:#E96677; font-size:1.5em; }

aside.subscription .subscription_box .stroke {
	position:relative;
	background-image: linear-gradient(-45deg, #48BDCE 49%, #8AD6DF 50%, #48BDCE 51%);
	background-size: 5px 5px; border-bottom-left-radius: 0.8em; border-bottom-right-radius: 0.8em; text-align: center;
	padding: 3em 8% 1em 8%;
}
aside.subscription .subscription_box .stroke::after {
	content:""; background-image:url(../img/private_after.png); background-size: 100%;
	position:absolute; top:-12.4em; right:-2em; width:18.6em; height:12.6em;
}

aside.subscription .subscription_box a.entry_btn {
	position:relative;
    font-size: 1.7em; font-weight: bold;
    display: block; width: 14.94em;
    padding: 0.8em;
    border-top-left-radius: 1.8em; border-bottom-left-radius: 1.8em; border-top-right-radius: 1.8em; border-bottom-right-radius: 1.8em;
    margin: 0 1em 1em 1em; box-shadow: 0px 5px 5px -5px rgba(0,0,0,0.5);
}
aside.subscription .subscription_box a.entry_btn i { position:absolute; top:calc(50% - 0.4em); right:0.8em; }
aside.subscription .subscription_box a.entry_btn::before {
	position:absolute; top:-2.2em; left:-2.2em; content:"";
	background-image:url(../img/top/main_free_before_green.png); background-size:100%; background-repeat:no-repeat;
	width:3.5em; height:3.5em;
}

aside.subscription .subscription_box a.tel_btn {
	position:relative;
    font-size: 2.1em; font-weight: bold; line-height:0.9em;
    display: block; width: 11.78em;
    padding: 0.2em 0.8em 0.6em 0.8em;
    border-top-left-radius: 1.8em; border-bottom-left-radius: 1.8em; border-top-right-radius: 1.8em; border-bottom-right-radius: 1.8em;
    margin: 0 1em 1em 1em; box-shadow: 0px 5px 5px -5px rgba(0,0,0,0.5);
}

aside.subscription .subscription_box a.tel_btn span {
	font-size:0.45em; display:block;
}



form.search_box .submit_btn { margin-top:2em; margin-bottom:2em; }
form.search_box .submit_btn button {
	appearance: none;
	-webkit-appearance: none;
	position:relative; cursor:pointer; width: 13.84em;
	border:none; background-color:#48BDCE; color:#FFF; font-size:1.4em; font-weight:700;
	margin:0 0 1em 0 ; padding:0.63em 2em 0.69em 2em; box-shadow: 6px 9px 1px -5px rgba(0,0,0,0.1);
	border-top-left-radius: 1.6em;
	border-bottom-left-radius: 1.6em;
	border-top-right-radius: 1.6em;
	border-bottom-right-radius: 1.6em;
}
form.search_box .submit_btn button i {
	position:absolute; top:0.9em; right:0.7em; font-size:1.1em;
}

.other_select_box { display:none; }


.hid_search header.search_box_header .sub_ttl { padding: 0.8em 0 0.8em 0; margin-bottom:0; }
.hid_search form.search_box { position:relative; }

.hid_search .form_inline { background-color:#FFF; padding:1em 1em 1em 1em; overflow:auto; width: calc(100% - 2em); height: calc(100vh - 18em); }
.hid_search dl { }
.hid_search dl dt { border-left:solid 5px #00B8BF; line-height: 1.1em; font-size:1.2em; font-weight:500; margin:0; padding:0 0 0 0.5em; }
.hid_search dl dd { margin:0; padding:0.7em 0 1em 0; }
.hid_search form footer.submit_btn { margin-top:0; margin-bottom:0; padding-top: 1em; }

/***** end link button **********/


/***************************  footer  **************************************/

footer#footer { padding:3em 0 0 0; position: relative; }

footer#footer .logo a img { width:15em; max-width:230px; }

footer#footer nav { padding:3em 0 3em 0; }

footer#footer nav.main_menu { margin:0 auto; padding:3em 0 1em 0; }
footer#footer nav.main_menu a { display:inline-block; padding:1em; font-weight:500; }

footer#footer nav.sub_menu { padding:1em 0 3em 0; }
footer#footer nav.sub_menu a { display:inline-block; padding:1em; font-size:0.9em; }

footer#footer p.copy {
	font-size:0.8em;
	margin:0 auto 0 auto; padding:0.5em 0 0.5em 0;
}

#page_top { display:none; position:fixed; z-index: 3; bottom:5em; right:1em; font-size:1.5em; border-radius:50%; padding: 0.3em 0.8em; }


@media (min-width: 768px) and (max-width: 1024px) {
    header#header nav ul.inner li.left {font-size: 0.875em !important;}
    footer#footer nav.main_menu a {padding: 0.75em !important;}
}

