@charset "utf-8";
/* CSS Document */

#single .title {
	padding: 10px 20px;
	width: 100%;
	font-size: 18px;
}

#single .title::before {
	display: none;
}

/* =====================
  job_detail
===================== */

#job_detail {
	padding: 0;
	margin: 20px 0 0 0;
}

/*  job_main
------------------------*/

.job_main {
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: 35px;
}

.job_main_item {
	width: 360px;
}

.job_main_item:nth-of-type(2) {
	width: 445px;
}

.job_main .eyecatch {
	margin-bottom: 10px;
}

.job_main .note {
	margin-bottom: 20px;
}

.job_main .tag_list {
	margin: 0;
}

.job_main .excerpt_list th {
	vertical-align: top;
	padding: 15px 10px;
}

.job_main .excerpt_list td {
	width: 365px;
	font-size: 13px;
	height: auto;
	padding: 15px 18px;
}

/*  pr_image_overlay
------------------------*/
.pr_image {
	position: relative;
}

.pr_image::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3)!important;
	z-index: 1;
}

.pr_image_overlay_text {
	font-family: 'Noto Sans JP', sans-serif;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
	width: 100%;
    z-index: 2;
}

.pr_image_overlay1 {
	font-size:2.6em;
	font-weight: 100;
	display: inline-block;
    padding:0 50px;
    margin-bottom: -5px;
    border-bottom: 2px solid #fff;
    box-sizing: content-box;
}

.pr_image_overlay2 {
	font-size:4em;
	font-weight: 500;
}

/*  pr_area
------------------------*/

.pr_area {
	text-align: center;
	padding: 35px;
	position: relative;
}

.pr_area::before,
.pr_area::after {
	content: '';
	background: repeating-linear-gradient(-45deg, #439fd1 0, #439fd1 3px, #6fb5dc 3px, #6fb5dc 6px);
	width: 100%;
	height: 5px;
	position: absolute;
	left: 0;
	display: block;
}

.pr_area::before {
	top: 0;
}

.pr_area::after {
	bottom: 0;
}

.pr_area a {
	text-decoration: underline;
}

.pr_area img {
	width: auto;
	max-width: 100%;
	margin: 0 auto;
}

.pr_area .title_balloon {
	font-size: 20px;
	background: #ffe000;
	color: #2082d7;
	height: 38px;
	line-height: 38px;
	padding: 0 15px;
	border: 4px solid #2082d7;
	top: 25px;
	left: -15px;
}

.pr_area .title_balloon::before {
	border-top: 8px solid #ffe000;
	z-index: 1;
}

.pr_area .title_balloon::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -10px;
	border: 10px solid transparent;
	border-top: 14px solid #2082d7;
}

/*  pr_area_extra_class
------------------------*/
.pr_default {
	text-align: left;
}

/*  extra_content
------------------------*/
h3.extra_content_title {
	background-color:#2082d7;
	color:#fff;
	border-radius: 10px;
	font-size:1.7em;
	text-indent: 15px;
	margin:20px 0;
}

.extra_content {
	padding:0px 35px 35px 35px;
}

/* .extra_content::before {
	content: '';
	background: repeating-linear-gradient(-45deg, #439fd1 0, #439fd1 3px, #6fb5dc 3px, #6fb5dc 6px);
	width: 100%;
	height: 5px;
	position: absolute;
	left: 0;
	display: block;
	margin-top:-35px;
} */

/*  job_info
------------------------*/

.job_info {
	padding: 35px;
}

.job_info .table {
	background: #d3e3eb;
	border-radius: 4px;
	text-align: center;
	padding: 15px 30px 30px 30px;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 20px;
}

.job_info .table.profile {
	margin: 0;
}

.job_info .table::before {
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	border-radius: 50%;
	background: #2082d7;
	box-sizing: border-box;
	position: absolute;
	top: -5px;
	left: -10px;
	font-family: 'icomoon';
	font-size: 23px;
}

.job_info .table.basic::before {
	content: '\e91d';
	color: #d3e3eb;
}

.job_info .table.profile::before {
	content: '\e91e';
	color: #d3e3eb;
}

.job_info .sub_title {
	margin-bottom: 15px;
}

.job_info table {
	width: 100%;
	line-height: 1.6;
}

.job_info table th,
.job_info table td {
	border-bottom: 1px solid #acc8e0;
	box-sizing: border-box;
}

.job_info table tr:first-of-type th,
.job_info table tr:first-of-type td {
	border-top: 1px solid #acc8e0;
}

.job_info table th {
	width: 80px;
	background: #2082d7;
	font-weight: bold;
	text-align: center;
	color: #fff;
	font-size: 12px;
	padding: 15px 10px;
	vertical-align: top;
}

.job_info table td {
	background: #fff;
	font-size: 13px;
	text-align: left;
	padding: 15px 18px;
}

.job_info .ge {
	display: none;
}

.tel_show {
	width: 270px;
	height: 50px;
	line-height: 50px;
	color: #fff;
	cursor: pointer;
	margin: 10px 0;
}

.tel_show::before {
	content: '\e91f';
	font-family: 'icomoon';
	font-size: 20px;
	font-weight: normal;
	line-height: 1;
	vertical-align: text-top;
	padding-right: 8px;
}

.old_template .tel_show button {
	width: 270px;
	height: 50px;
	line-height: 50px;
	color: #fff;
	cursor: pointer;
	margin: 10px 0;
}

.tel_num {
	display: none;
	font-weight: bold;
	width: 270px;
	background: #ffffff;
	margin: 10px 0;
}

.tel_num a[href^="tel:"] {
	font-family: 'Roboto Condensed', sans-serif;
	text-align: center;
	font-size: 30px;
	color: #019c8b;
	border: 1px solid #019c8b;
	box-sizing: border-box;
	border-radius: 4px;
	display: block;
}

.map_frame {
	width: 100%;
	height: 300px;
	display: block;
}

.map_frame iframe {
	width: 100%;
	height: 100%;
	display: block;
}

/*  suggest
------------------------*/

#suggest {
	margin-bottom: 0;
}

/*  pickup
------------------------*/

#main #pickup,
#main #special {
	border: 5px solid #019c8b;
	padding: 45px 25px 25px 25px;
}

#main #pickup .title_ribbon,
#main #special .title_ribbon {
	font-size: 12px;
	background: #019c8b;
}

#main #pickup .title_ribbon .en,
#main #special .title_ribbon .en {
	line-height: 1.4;
}

#main #pickup .title_ribbon::before,
#main #special .title_ribbon::before {
	border-right: solid 10px #2082d7;
}

#main #pickup .title_ribbon::after,
#main #special .title_ribbon::after {
	background: linear-gradient(55deg, #019c8b 15px, transparent 0) 0 15px, linear-gradient(125deg, #019c8b 15px, transparent 0) 0 15px;
	background-size: 45px 45px;
	background-position: left top;
	background-repeat: repeat-y;
}

#main .pickup_list {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#main .pickup_list::after {
	content: '';
	width: 270px;
}

#main .pickup_list li {
	width: 270px;
	border: none;
}

/* =====================
  old_template
===================== */

.old_template .hidden {
	display: none;
}

.old_template .pr_area .ch {
	width: 100%;
}

.old_template .tel_show {
	color: #222;
	width: auto;
	line-height: 1.8;
	cursor: auto;
}

.old_template .tel_show img {
	max-width: 100%;
	width: auto;
	cursor: pointer;
}

.old_template .tel_show::before {
	display: none;
}

.old_template .btn-default {
	width: auto;
	height: auto;
	line-height: 1.8;
	background: none;
	font-size: 13px;
	font-weight: normal;
	box-shadow: none;
	text-decoration: underline;
}

/* =====================
  side
===================== */

#side {
	position: relative;
}

.side_fixed {
	right: calc(50% - 600px);
	width: 250px;
	position: fixed;
	top: 180px;
}

.bottom-side {
	position: absolute;
	bottom: 0;
	right: 0;
	top: auto;
}

.static-side {
	position: static;
}

/* =====================
  entry
===================== */

#entry_form {
	margin-bottom: 20px;
}

#entry_form dt {
	font-size: 12px;
	font-weight: bold;
	padding-right: 40px;
	position: relative;
}

#entry_form dd {
	margin-bottom: 10px;
}

#entry_form .require {
	font-size: 10px;
	color: #fff;
	background: #e95a87;
	line-height: 15px;
	width: 35px;
	text-align: center;
	display: inline-block;
	position: absolute;
	top: 2px;
	right: 0;
}

#entry_form input {
	width: 100%;
	height: 35px;
	box-sizing: border-box;
	border: 1px solid #cacaca;
	padding: 5px 10px;
	font-size: 13px;
}

#entry_form input[type="submit"] {
	border: none;
	padding: 0;
	height: 50px;
	line-height: 50px;
	margin-bottom: 10px;
}

#entry_form input[type="submit"][disabled] {
	background: #9E9E9E;
	color: gainsboro;
	box-shadow: 0px 5px 0px 0px #8a8a8a;
	font-size: 0.85em;
}

#entry_form .center.form_btn_box {
	position: relative;
}

#entry_form .center.form_btn_box::before {
	content: '\e91b';
	font-family: 'icomoon';
	font-size: 22px;
	color: #ff8400;
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -20px;
	transition: .1s;
	z-index: 1;
}

#entry_form .center.form_btn_box.disabled::before {
	color: #8a8a8a;
	content: none;
}

#entry_form .btn:hover {
	transform: translateY(0);
	box-shadow: 0px 0px 0px 0px transparent;
}

#entry_form .center.form_btn_box {
	transition: .1s;
}

#entry_form .center.form_btn_box:hover .btn,
#entry_form .center.form_btn_box:hover::before {
	transform: translateY(5px);
}

#entry_form .center.form_btn_box.disabled:hover input[type="submit"][disabled],
#entry_form .center.form_btn_box.disabled:hover::before {
	transform: none;
}

/* #entry_form div.wpcf7 img.ajax-loader {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 15px;
	margin: -7.5px 0 0 -7.5px;
} */

#entry_form div.wpcf7 span.wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 15px;
	height: 15px;
	margin: -7.5px 0 0 -7.5px;
}

#entry_form input::-webkit-input-placeholder {
	/* WebKit, Blink, Edge */
	color: #a8a8a8;
}

#entry_form input:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: #a8a8a8;
}

#entry_form input::placeholder {
	/* Others */
	color: #a8a8a8
}

#entry_form input[type="radio"] {
	display: none;
}

#entry_form .radio {
	font-size: 13px;
}

#entry_form .radio .wpcf7-list-item-label {
	position: relative;
	padding-left: 23px;
	cursor: pointer;
}

#entry_form .radio .wpcf7-list-item-label::before {
	content: '';
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid #cacaca;
	border-radius: 50%;
}

#entry_form span.wpcf7-list-item {
	margin: 0 10px 0 0;
}

#entry_form .radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
	content: '';
	width: 12px;
	height: 12px;
	position: absolute;
	top: 3px;
	left: 3px;
	border-radius: 50%;
	box-sizing: border-box;
	background: #000;
	transition: .3s;
}

#entry_form span.wpcf7-not-valid-tip {
	font-size: 12px;
	color: #e95a87;
}

#entry_form .termsofservice_ttl {
	font-size: 12px;
	color: #e95a87;
	font-weight: bold;
	line-height: 1.6;
}

#entry_form .termsofservice_ttl span {
	text-decoration: underline;
	color: #e95a87;
	cursor: pointer;
}

#entry_form div.wpcf7-validation-errors,
#entry_form div.wpcf7-mail-sent-ok {
	display: block;
	font-size: 12px;
	border: none;
	margin: 0;
	font-weight: bold;
	line-height: 1.6;
	padding: 15px 20px;
	margin-top: 15px;
}

#entry_form div.wpcf7-validation-errors {
	background: #e95a87;
	text-decoration: underline;
	color: #ffffff;
}

#entry_form div.wpcf7-mail-sent-ok {
	background: #d3e3eb;
	color: #2082d7;
}

/* =====================
  LINE Entry Button
===================== */
.line-entry-btn-area{
	background-color: rgba(6,199,85, 1);
	display: inline-block;
	border-radius: 6px;
	height: 65px;
	position: relative;
	margin-bottom: 20px;
}

.line-entry-btn {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	
	padding: 1rem 0;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	border-radius: 6px;
	width: 250px;

	color: #fff;
  	background-color: rgba(6,199,85, 1);
  	border-bottom: 5px solid #149047;
}

.line-entry-btn:hover {
	margin-top: 3px;
	color: #fff;
	background: rgba(6,199,85, 1);
	border-bottom: 2px solid #149047;
}

/* =====================
  btn_area
===================== */

#side .btn_area {
	padding: 0;
	display: block;
	height: auto;
}

#side .btn_area .btn.keep {
	width: 100%;
}

/* =====================
  single_special
===================== */

.single_special li {
	width: 275px;
	margin-right: 7.5px;
}

#main #special .recommended_nav {
	background: #019c8b;
}

/*
#main #special {
	margin-bottom: 0;
}
*/

/* =====================
  modal
===================== */

#modal-kiyaku .detail-wrap p {
	margin-bottom: 20px;
}

/* =====================
	master
===================== */

.completion {
	background: #ed8ab7;
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	color: #fff;
	padding: 20px 0;
}

#manuscript-number {
	text-align: right;
	color: #2082d7;
	font-size: 12px;
	line-height: 2;
	padding-right: 5px;
}

/* =====================
  ilnk
===================== */

#suggest #link .banner_list {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	margin-left: auto;
}

#suggest #link .banner_list {
	width: 510px;
}

#suggest #link .banner_list li {
	width: 250px;
	margin: 0;
}