@charset "utf-8";
@keyframes show {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes hide {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

::selection {
	background-color: #c8dae4;
}

/* ==================================================
layout
================================================== */

/* body
============================== */

.format_top,
.format_free,
.format_base {
	color: inherit;
	background-color: #222e5a;
}

* html body {
	text-align: center;
	/* 変更しない */
}

input[type="submit"],
input[type="button"],
input[type="text"],
input[type="password"] {
	-webkit-appearance: none;
	/* 変更しない */
	/* -webkit-border-radius:0; /* Webkit */
	/* -moz-border-radius:0; /* Mozilla */
	/* border-radius:0; /* CSS3 */
}

/* wrapper
============================== */

#tmp_wrapper {
	width: 100%;
	/* デザインによって変更 */
	/* min-width:760px;
	max-width:1280px;
	リキッドレイアウトの場合使用 */
	margin: 0 auto;
	color: inherit;
	background-color: #FFFFFF;
	position: relative;
	min-height: 100vh;
	padding-bottom: calc(200px + 18em);
	box-sizing: border-box;
}

* html #tmp_wrapper {
	text-align: left;
}

/* pankuzu
============================== */

#tmp_wrap_pankuzu {
	padding-top: 7rem;
}

/* main
============================== */

#tmp_wrap_main {
	padding: 10px 0;
	clear: both;
	/* min-height: calc(100vh - 45rem); */
	box-sizing: border-box;
}

.index_first #tmp_wrap_main_header {
	padding-top: 6rem;
	margin-bottom: 3rem;
}

.index_first #tmp_main_header {
	padding: 5rem 0;
	position: relative;
	text-align: center;
	margin: 0px 0 0 0;
	width: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
	z-index: 0;
}

.index_first #tmp_main_header h1 {
	position: relative;
	display: table;
	z-index: 10;
	font-weight: normal;
	min-width: 300px;
	/* width: fit-content; */
	left: 0;
	right: 0;
	margin: auto;
	background: rgba(0, 146, 183, 1);
	background: -moz-linear-gradient(left, rgba(0, 146, 183, 0.7) 0%, rgba(0, 39, 145, 0.7) 100%);
	background: -webkit-gradient(left top, right top, color-stop(0%, rgba(0, 146, 183, 0.7)), color-stop(100%, rgba(0, 39, 145, 0.7)));
	background: -webkit-linear-gradient(left, rgba(0, 146, 183, 0.7) 0%, rgba(0, 39, 145, 0.7) 100%);
	background: -o-linear-gradient(left, rgba(0, 146, 183, 0.7) 0%, rgba(0, 39, 145, 0.7) 100%);
	background: -ms-linear-gradient(left, rgba(0, 146, 183, 0.7) 0%, rgba(0, 39, 145, 0.7) 100%);
	background: linear-gradient(to right, rgba(0, 146, 183, 0.7) 0%, rgba(0, 39, 145, 0.7) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0092b7', endColorstr='#002791', GradientType=1);
	color: #fff;
	padding: 3rem 3rem;
	/* box-shadow: 10px 10px 0 0 rgba(0, 0, 0, 0.3); */
	-webkit-filter: drop-shadow(0px 3px 10px rgba(0, 0, 0, .3));
	filter: drop-shadow(10px 10px 0px rgba(0, 0, 0, .3));
}

.index_first #tmp_main_header h1:before {
	content: "";
	position: absolute;
	background-color: #fff;
	width: 80%;
	height: 2px;
	top: 10px;
	left: 0;
}

.index_first #tmp_main_header h1:after {
	content: "";
	position: absolute;
	background-color: #fff;
	width: 80%;
	height: 2px;
	bottom: 10px;
	right: 0;
}

.index_first #tmp_main_header h1 .h1_title,
.index_first #tmp_main_header h1 .h1_img {
	display: block;
	text-align: center;
}

.index_first #tmp_main_header h1 .h1_img img {
	height: 5rem;
}

.index_first #tmp_main_header h1 .h1_sub_title {
	display: block;
	text-align: center;
	font-size: 1rem;
}

.index_first #tmp_main_header h1 + .h1_bg:after {
	/* 	content: "";
	position: absolute;
	z-index: 4;
	background: rgba(0, 0, 0, .3);
	width: 100%;
	height: 100%;
	top: 10px;
	left: 10px; */
}

/* cases
============================== */

#tmp_wrap_cases {
	margin-bottom: 7rem;
}

#tmp_cases {
	display: table;
	width: 100%;
	table-layout: fixed;
}

#tmp_cases .wrap_case_col {
	display: table-cell;
	vertical-align: top;
}

#tmp_cases .wrap_case_col:nth-child(1) {
	padding-right: 1rem;
}

#tmp_cases .wrap_case_col:nth-child(2) {
	padding-left: 1rem;
}

#tmp_cases .case_col {
	display: table;
	width: 100%;
	background-color: #F4F4F4;
}

#tmp_cases .case_col .case_img,
#tmp_cases .case_col .case_detail {
	display: table-cell;
	vertical-align: middle;
}

#tmp_cases .case_col .case_img {
	width: 40%;
}

#tmp_cases .case_col .case_detail {
	background-color: #F4F4F4;
	padding: 1.5rem;
}

#tmp_cases .case_col .case_img span > img {
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: 0% 0%;
}

.case_ttl {
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

.case_txt {
	margin-bottom: 1rem;
	font-size: .95rem;
}

.case_tag > a {
	background: #aaa;
	color: #fff;
	display: inline-block;
	padding: 0rem 1rem;
	border-radius: 1rem;
	margin: 0 0 .3rem 0;
	font-size: .9rem;
	font-weight: bold;
}

.case_tag > a:before {
	content: "#";
	padding-right: .2rem;
}

.case_tag > a:hover {
	opacity: .8;
}

.case_tag > a {
	margin-right: .5em;
}

.case_tag .blue {
	background-color: #2B91D6;
	border: 1px solid #2B91D6;
}

.case_tag .green {
	background-color: #87B000;
	border: 1px solid #87B000;
}

.case_tag .red {
	background-color: #bc5a46;
	border: 1px solid #bc5a46;
}

.case_tag .orange {
	background-color: #BF703A;
	border: 1px solid #BF703A;
}

/* dp_footer
============================== */

#tmp_dp_footer {
	display: table;
	width: 100%;
	table-layout: fixed;
	background: url('/shared/images/index/package/bg_footer.jpg') center center no-repeat;
	background-size: cover;
	margin-bottom: 4rem;
}

#tmp_dp_footer .dp_menu {
	display: table-cell;
	width: 50%;
	box-sizing: border-box;
	text-align: center;
	padding: 7rem 0 6rem;
	color: #ffffff;
}

.menu_contact {
	background-color: rgba(16, 81, 31, .7);
}

.package_iryo .menu_contact {
	background-color: rgba(16, 80, 128, 0.7);
}

.menu_catalog {
	background-color: rgba(33, 110, 112, .7);
}

#tmp_dp_footer .menu_txt {
	font-weight: bold;
	font-size: 1.1rem;
	margin-bottom: 3rem;
}

#tmp_dp_footer .menu_btn a {
	display: inline-block;
	color: #fff;
	font-weight: bold;
	border: 1px solid #fff;
	padding: .7rem 2rem;
	box-sizing: border-box;
	background-color: rgba(0, 0, 0, 0.3);
	min-width: 15rem;
	background: url(/shared/images/common/icon-arrow-right.svg) right 1em center / auto .8rem no-repeat rgba(0, 0, 0, 0.3);
}

#tmp_dp_footer .menu_btn a:hover {
	background-color: rgba(0, 0, 0, 0.5);
	background-position: right .8em center;
}


/* width_full
============================== */
.width_full #tmp_wrap_main.container {
	max-width: 100%;
}
.width_full #tmp_wrap_main {
	padding: 0;
}
.width_full #tmp_wrapper {
	padding-bottom: 7em;
}
.width_full #tmp_wrap_footer {
	background-image: none;
	padding: 0;
}
.width_full #tmp_footer_bg {
	display: none;
}

/* width_full footer
============================== */
.full_foot_none {
	padding: 6em 0;
}


/* format_saiyo
============================== */
.format_saiyo .interview_cnt {
	max-width: 860px;
	width: 100%;
	margin-right: auto !important;
	margin-left: auto !important;
	line-height: 1.8;
	margin-bottom: 40px;
}

/* entry
============================== */
.entry_area {
	margin: 6em 0;
	padding: 5em 0;
	text-align: center;
	color: #ffffff;
	background: url(/shared/images/interview_index/interview_footer_bg.png) repeat #353535;
	display: table;
	width: 100%;
}
.entry_col {
	display: table-cell;
	width: 50%;
	padding: 3em 0;
}
.entry_col + .entry_col {
/*	border-left: 1px solid rgba(255, 255, 255, 0.8);*/
}
.entry_area .entry_ttl {
	font-size: 1.6em;
	font-weight: bold;
	margin-bottom: 1em;
}
.entry_area a.entry_btn {
	display: inline-block;
	color: #ffffff;
	border: 1px solid #eefdff;
	padding: .6em 3em;
	font-size: 1.2em;
	font-weight: bold;
}
.entry_area a.entry_btn:hover {
	color: #ffffff;
	border: 1px solid #a5fffc;
	background-color: rgba(0, 0, 0, 0.4);
}
.entry_area a.entry_btn + .entry_btn {
	margin-left: 1em;
}

/* contents
============================== */

#tmp_contents,
#tmp_maincontents {
	width: 100%;
	/* 変更しない */
	overflow: auto;
}

#tmp_contents {
	padding: 0 0 10px;
	box-sizing: border-box;
}

#tmp_contents h2 img,
#tmp_contents h3 img,
#tmp_contents h4 img {
	vertical-align: middle;
	max-width: 2.4em;
	height: auto;
	margin-right: .5em;
}

img {
	vertical-align: bottom;
}

.width_full #tmp_contents .interview_catch {
	max-width:47%;
}

/* format カラムのレイアウトのbaseロジック
============================== */

.wrap_col_nm {
	width: 100%;
	/* 変更しない */
	float: left;
	/* 変更しない */
}

.col_nm {
	width: 100%;
	/* 変更しない */
}

.wrap_col_lft_navi {
	float: left;
	/* 変更しない */
	position: relative;
	/* 変更しない */
	z-index: 1;
	/* 変更しない */
}

.wrap_col_rgt_navi {
	float: right;
	/* 変更しない */
}

.column_full .wrap_col_main {
	width: 100%;
	/* 変更しない */
	float: right;
	/* 変更しない */
}

.column_lnavi .wrap_col_main {
	width: 100%;
	/* 変更しない */
	float: right;
	/* 変更しない */
}

.column_rnavi .wrap_col_main {
	width: 100%;
	/* 変更しない */
	float: left;
	/* 変更しない */
}

.col_main {
	padding: 10px 0;
	/* デザインによって変更 */
	box-sizing: border-box;
}

/* top
============================== */

.format_top .column_full .wrap_col_nm {
	margin-right: -210px;
	/* デザインによって変更 */
}

.format_top .column_full .wrap_col_nm2 {
	margin-right: 210px;
	/* デザインによって変更 */
}

.format_top .column_full .wrap_col_lft_navi {
	width: 200px;
	/* デザインによって変更 */
	margin-right: -210px;
	/* デザインによって変更 */
}

.format_top .column_full .col_lft_navi {
	padding: 10px;
	/* デザインによって変更 */
	color: inherit;
	background-color: #CCDDEE;
}

.format_top .column_full .wrap_col_rgt_navi {
	width: 200px;
	/* デザインによって変更 */
}

.format_top .column_full .col_rgt_navi {
	padding: 10px;
	/* デザインによって変更 */
	color: inherit;
	background-color: #CCDDEE;
}

.format_top .column_full .col_main {
	margin-left: 210px;
	/* デザインによって変更 */
}

/* free
============================== */

.format_free .wrap_col_nm {
	margin-right: -210px;
	/* デザインによって変更 */
}

.format_free .wrap_col_nm2 {
	margin-right: 210px;
	/* デザインによって変更 */
}

.format_free .wrap_col_lft_navi {
	width: 200px;
	margin-right: -220px;
	border-right: 1px solid rgb(229, 229, 229);
	padding-right: 10px;
}

.format_free .col_lft_navi {
	/* デザインによって変更 */
	padding: 1rem 0 0 0;
	box-sizing: border-box;
}

.format_free .wrap_col_rgt_navi {
	width: 200px;
	/* デザインによって変更 */
}

.format_free .col_rgt_navi {
	padding: 10px;
	/* デザインによって変更 */
	color: inherit;
	background-color: #CCDDEE;
	box-sizing: border-box;
}

.format_free .column_full .col_main {
	margin-left: 210px;
	/* デザインによって変更 */
}

.format_free .column_lnavi .col_main {
	margin-left: 210px;
	/* デザインによって変更 */
	border-left: 1px solid #e5e5e5;
	padding: 0 0 10px 50px;
	min-height: calc(50vh - 10rem);
	box-sizing: border-box;
}

.format_free .column_rnavi .wrap_col_main {
	margin-right: -210px;
	/* デザインによって変更 */
}

.format_free .column_rnavi .col_main {
	margin-right: 210px;
	/* デザインによって変更 */
}

/* ==================================================
common
================================================== */

.container {
	max-width: 1200px;
	margin: 0 auto;
}

.effect_container .container {
	transition: opacity ease .8s;
}

.btn {
	display: inline-block;
	padding: .6em 4em .6em 4em;
	font-size: .9em;
	box-sizing: border-box;
	text-align: center;
	border: 1px solid transparent;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 1.8em;
	min-width: 5em;
}

.btn + .btn {
	margin-left: .5em;
}

.btn_block {
	width: 100%;
	text-align: center;
	margin-top: 1em;
}

a.btn-gray,
.btn-gray {
	color: #575757;
	background: url(/shared/images/common/icon-arrow-right-dark.svg) no-repeat right 1em center #dcdcdc;
	background-position: right 1em center;
	background-color: #dcdcdc;
	border: 1px solid #dcdcdc;
}

.btn-gray:hover {
	background-color: #eaeaea;
	border: 1px solid #eaeaea;
}

a.btn-blue,
.btn-blue {
	color: #ffffff;
	background: url(/shared/images/common/icon-arrow-right.svg) no-repeat right 1em center #2B91D6;
	background-position: right 1em center;
	background-color: #2B91D6;
	border: 1px solid #2B91D6;
}

.btn-blue:hover {
	background-color: #45a7ea;
	border: 1px solid #45a7ea;
}

a.btn-red,
.btn-red {
	color: #ffffff;
	background-color: #B70000;
	border: 1px solid #B70000;
}

a.arrow-right,
.arrow-right {
	background-image: url(/shared/images/common/icon-arrow-right.svg);
	background-position: right 1em center;
}

a.arrow-right-dark,
.arrow-right-dark {
	background-image: url(/shared/images/common/icon-arrow-right-dark.svg);
	background-position: right 1em center;
}

a.arrow-left,
.arrow-left {
	background-image: url(/shared/images/common/icon-arrow-left.svg);
	background-position: left 1em center;
}

a.arrow-left-dark,
.arrow-left-dark {
	background-image: url(/shared/images/common/icon-arrow-left-dark.svg);
	background-position: left 1em center;
}


a.icon-delete,
.icon-delete {
	background-image: url(/shared/images/common/icon-delete.svg);
	background-position: right 1em center;
	background-size: auto 1em;
}


.btn,
.btn:hover,
.btn:active,
.btn:focus {
	text-decoration: none !important;
}

.btn_text *,
.btn_text *:hover,
.btn_text *:active,
.btn_text *:focus {
	text-decoration: none !important;
}

.btn_text img {
	pointer-events: none;
}

.btn-area {
	margin: 1em 0 0 0;
	text-align: center;
}

.btn-area-large {
	margin: 3em 0 0 0;
	text-align: center;
}

.submit_area {
	margin: 0.8em 0 0 0 !important;
	text-align: center;
	clear: both;
}

input[type="submit"],
input[type="button"],
.btn,
a {
	transition: background 0.2s ease,
	background-color 0.2s ease,
	background-image 0.2s ease,
	border 0.2s ease,
	opacity 0.2s ease,
	box-shadow 0.2s ease;
}

input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:focus,
.btn:hover,
a img:hover,
a:hover {
	cursor: pointer;
	transition: background 0.4 ease,
	background-color 0.4s ease,
	background-image 0.4s ease,
	border 0.4s ease,
	opacity 0.4s ease,
	box-shadow 0.4s cubic-bezier(0, 0.74, 0.48, 0.63);
}

.link-shadow:hover {
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2);
}

.form-control {
	border: 1px solid #ddd;
	padding: .2em .4em;
}

.text-center {
	text-align: center;
}

/* ==================================================
header
================================================== */

#tmp_main_view {
	position: relative;
	width: 100%;
	height: 100vh;
}

.no_javascript #tmp_wrap_header,
.no_javascript #tmp_wrap_gnavi {
	position: relative !important;
	top: 0 !important;
}

.no_javascript #tmp_wrap_pankuzu {
	padding: 0 !important;
}

#cms8341-contentsZero .top_loader {
	display: none;
}

#cms8341-contentsZero #tmp_wrap_header,
#cms8341-contrasttarget #tmp_wrap_header,
#cms8341-contentsZero #tmp_wrap_gnavi,
#cms8341-contrasttarget #tmp_wrap_gnavi {
	position: relative;
}

.format_top #tmp_wrap_header {
	position: fixed;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
	z-index: 100;
}

.format_free #tmp_wrap_header {
	position: fixed;
	z-index: 100;
	width: 100%;
}

#tmp_header {
	padding: 0 10px;
	color: inherit;
	background-color: #FFFFFF;
	border-bottom: 0px;
	z-index: 10;
	box-sizing: border-box;
}

#tmp_header * {
	transition: height ease .4s,
	font-size ease .4s,
	padding ease .4s,
	background-color ease .4s,
	opacity ease .4s,
	border-bottom ease .4s,
	display ease .4s;
}

#tmp_hlogo {
	float: left;
	height: 50px;
	width: auto;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
.format_top #tmp_hlogo {
	height: 60px;
	display: flex;
	align-items: center;
}
#tmp_hlogo > h1 {
	padding: 0;
	height: 62px;
}
.format_top #tmp_hlogo * {
	line-height: 0;
}
.format_top #tmp_hlogo h1 span {
	display: table-cell;
	vertical-align: middle;
	height: 62px;
}
#tmp_hlogo > p {
	height: 50px;
	display: table;
}

.format_top #tmp_hlogo img {
	max-width: 100%;
	height: 2.2rem;
	vertical-align: middle;
}

.format_top .active #tmp_hlogo img {
	width: auto;
	height: 2rem;
}

.format_free #tmp_hlogo img {
	padding: 0;
	height: 30px;
	vertical-align: middle;
}

#tmp_hlogo a {
	display: table-cell;
	vertical-align: middle;
}
.format_top #tmp_hlogo #tmp_character img {
	max-width: 100%;
	height: 3.4rem;
}

.format_free #tmp_hlogo #tmp_character img {
	max-width: 100%;
	height: 3rem;
}

#tmp_means {
	width: auto;
	color: inherit;
	background-color: inherit;
	float: right;
	text-align: right;
	display: table;
	height: 24px;
	position: relative;
	padding: .8rem 0;
	font-size: 15px;
}

.format_free #tmp_means {
	/* height: 2rem; */
	padding: .4em 0 0;
}

#gnavi_smenu {
	display: none;
	opacity: 0;
	animation: hide .4s ease 0s;
}

#gnavi_smenu a {
	display: inline-block;
	padding: .6em 1em;
	color: #555;
	font-weight: bold;
}

#gnavi_smenu a:hover {
	background-color: #f0f0f0;
}

#tmp_means .means_btn {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	position: relative;
	border-right: 1px solid #aaa;
}

.format_free #tmp_means .means_btn {
	border-right: 1px solid #f2f2f2;
}

#tmp_means .means_btn:nth-last-child(2) {
	border-right: none;
}

.h_search {
	position: relative;
}

.h_search img {
	height: 1.2em;
}

#smenu_search_area #tmp_gsearch {
	display: table;
	width: 100%;
	border-collapse: collapse;
	text-align: right;
}

#smenu_search_area .box_search {
	display: table;
	width: 100%;
	border-collapse: collapse;
}

#smenu_search_area .box_search p {
	display: table-cell;
	vertical-align: middle;
}

#smenu_search_area #tmp_query {
	width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 5px 10px;
	box-sizing: border-box;
	background-position: 10px center !important;
}

#smenu_search_area #tmp_func_sch_btn {
	width: 100%;
	border: 1px solid #fff;
	color: #fff;
	background-color: transparent;
	height: 50px;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.means_btn a,
.means_btn > p {
	margin: 0 10px;
	padding: .4em .8em;
	display: block;
	border: 1px solid #ffffff;
	color: #757575;
}

.means_btn a:hover,
.means_btn > p:hover {
	background-color: #edf1f9;
	cursor: pointer;
}

.h_catalog a {
	color: #43e9ec;
	background-color: #041C33;
	border: 1px solid #041C33;
	display: block;
}

.h_catalog a:hover {
	background-color: #0e4579;
	border: 1px solid #0e4579;
}

.h_catalog a.active {
	background-color: #edf1f9 !important;
}

#tmp_means img {
	vertical-align: middle;
}

#tmp_hnavi_s,
#tmp_sma_menu {
	display: none;
	/* 変更しない */
}

/* navi active */

#tmp_header.active {
	border-bottom: solid 4px #2891D1;
}

.active #tmp_means .means_btn a {
	padding: .4em .8em;
}

.active #tmp_means .h_change,
.active #tmp_means .h_search {
	opacity: 0;
	display: none !important;
}

#gnavi_smenu.active {
	opacity: 1;
	display: table-cell;
	vertical-align: middle;
	animation: show .4s ease 0s;
}

/* menu btn
============================== */

.h_menu_btn {
	display: none;
}

.h_menu_btn a {
	display: block;
	padding: 12px 10px;
	position: relative;
}

.h_menu_btn a span {
	vertical-align: middle;
	margin: 0 .5em 0 0;
	font-size: 15px;
}

.h_menu_btn a #icon_menu {
	fill: #2B91D6;
	height: 20px;
	width: 20px;
	vertical-align: middle;
	/* margin: 0 0 0 .5em; */
}

.h_menu_btn a.active {
	color: #fff;
	background-color: #45648d;
}

.h_menu_btn a.active #icon_menu {
	fill: #ffffff;
}

#smenu_area {
	/*	opacity: 0;*/
	display: none;
	position: relative;
	top: 54px;
	left: 0;
	width: 100%;
	height: auto;
	color: #fff;
	background-color: rgba(39, 85, 142, 0.8);
	z-index: 10;
	padding: 1em 0;
	animation: hide .3s ease 0s;
}

#wrap_smenu_area.active {
	position: absolute;
	display: block;
	width: 100%;
	height: 100vh;
	top: 0;
	background-color: rgba(0, 0, 0, 0.23);
	z-index: 0;
	cursor: pointer;
}

#smenu_area.active {
	/*	opacity: 1;*/
	display: block;
	animation: show .3s ease 0s;
}

#smenu_area > ul,
#smenu_area > div {
	position: relative;
	z-index: 10;
}

#smenu_area ul {
	list-style: none;
	margin-bottom: 1em;
}

#smenu_area a {
	display: block;
	padding: .8em 1em;
	color: #ffffff;
}

#smenu_area a:hover {
	background-color: #24517d;
}

#smenu_sub_area {
	border-top: 1px solid #cdcdcd;
}

#smenu_sub_area img {
	display: none;
}

#smenu_search_area {
	border-top: 1px solid #cdcdcd;
	padding: 1em 1em;
}

/* primary
============================== */

#tmp_means_primary {
	margin: 2px 0 0;
}

/* func_txt */

#tmp_func_txt {
	margin: 0 10px 5px 0;
	float: left;
}

#tmp_func_txt dt {
	margin: 0 5px 0 0;
	padding: 2px 0 0;
	float: left;
}

#tmp_func_txt dd {
	margin: 0 5px 0 0;
	border: 1px solid #AABBCC;
	color: inherit;
	background-color: #CCDDEE;
	float: left;
}

#tmp_func_txt dd a {
	padding: 1px;
	display: block;
	text-decoration: none;
}

/* func_clr */

#tmp_func_clr {
	margin: 0 0 5px;
	float: left;
}

#tmp_func_clr dt {
	margin: 0 5px 0 0;
	padding: 2px 0 0;
	float: left;
}

#tmp_func_clr dd {
	margin: 0 5px 0 0;
	border: 1px solid #AABBCC;
	float: left;
}

#tmp_func_clr dd a {
	padding: 1px;
	display: block;
	text-decoration: none;
}

#tmp_color_default {
	color: #000000;
	background-color: #FFFFFF;
}

#tmp_darkblue {
	color: #FFFF00;
	background-color: #00008B;
}

#tmp_yellow {
	color: #000000;
	background-color: #FFFF00;
}

#tmp_black {
	color: #FFFF00;
	background-color: #000000;
}

/* secondary
============================== */

#tmp_means_secondary {
	margin: 0 0 5px 0;
	clear: both;
}

/* search */

#tmp_search dt {
	margin: 0 5px 0 0;
	padding: 2px 0 0;
	float: left;
}

#tmp_search dd {
	float: left;
}

#tmp_search dd p {
	float: left;
}

#tmp_query {
	width: 220px;
	min-height: 19px;
	margin: 0 5px 0 0;
	border: 1px solid #ffffff;
	outline: 0;
}

#tmp_query:focus:before {
	content: "";
	display: block;
	position: relative;
	bottom: 0;
	height: 1px;
	width: 100%;
	background-color: #7dcaff;
}

#tmp_query + .focus-border {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background-color: #3399FF;
	transition: 0.4s;
}

* html #tmp_query {
	width: 222px;
}

#tmp_func_sch_btn {
	min-width: 60px;
	padding: 1px;
	text-align: center;
	font-weight: bold;
	cursor: pointer;
}

/* tertiary
============================== */

#tmp_means_tertiary {
	clear: both;
}

/* hnavi */

#tmp_hnavi {
	list-style: none;
}

#tmp_hnavi li {
	margin: 0 6px 0 0;
	float: left;
}

#tmp_hnavi li a {
	padding: 0 0 0 15px;
	color: #000000;
	background: url(/shared/images/icon/list_icon.gif) no-repeat 0 0.1em;
	text-decoration: none;
}

#tmp_hnavi .last {
	margin-right: 0;
}

/* search_area
============================== */

#header_search_area {
	position: absolute;
	margin: auto;
	right: 0;
	top: 3em;
	z-index: 5;
	padding: 1em;
	background-color: #ffffff;
	display: block;
	width: 100%;
	min-width: 30em;
	box-sizing: border-box;
	box-shadow: 0px 0px 7px 1px #00000069;
}

#header_search_area #query_input_box {
	display: table;
	width: 100%;
}

#header_search_area #query_input_box p {
	display: table-cell;
}

#header_search_area input#tmp_query {
	width: 80%;
	border-bottom: 1px solid #aaa;
}

#header_search_area input#tmp_func_sch_btn {}

#header_search_area .h_search_btn {
	width: 20%;
	box-sizing: border-box;
	padding: .3em .2em;
	background-color: transparent;
	border: none;
}

/* ==================================================
gallery_top
================================================== */

#tmp_wrap_gallery_top {
	position: absolute;
	top: 4rem;
	left: 0;
	width: 100%;
	height: calc(100vh - 14rem);
	background: url(/shared/images/gallery_top/top.jpg) center center / auto no-repeat;
	background-size: cover;
}

#tmp_gallery_top {
	position: relative;
	width: 100%;
}

#tmp_gallery_top .box_wrap_parent_gallrey,
#tmp_gallery_top .box_parent_gallrey,
#tmp_gallery_top .box_gallrey {
	width: 100%;
	text-align: center;
}

#tmp_gallery_top .visual {
	width: 100%;
	height: calc(100vh - 14rem);
}

#tmp_gallery_top a {
	display: block;
	width: 100%;
	height: 100%;
	background-color: transparent;
}

#tmp_gallery_top span {
	display: none;
}

#tmp_gallery_top .list_order {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 30px;
	z-index: 5;
	text-align: center;
	background-color: transparent;
}

#tmp_gallery_top .list_order li {
	display: inline-block;
	padding: 0 .4em;
}

#tmp_gallery_top .wrap_gallery_cntrol {
	position: absolute;
	right: 20px;
	bottom: 25px;
	z-index: 5;
}

#tmp_gallery_top .wrap_gallery_cntrol .gallery_navi {
	display: none;
}

/*javascript_off*/

#cms8341-contentsZero #tmp_gallery_top ul.gallery_ul {
	height: 50vh;
}

#tmp_gallery_top ul.gallery_ul {
	display: block;
	width: auto;
	height: auto;
	overflow: scroll;
	white-space: nowrap;
}

#tmp_gallery_top ul.gallery_ul li {
	display: inline;
}

#tmp_gallery_top ul.gallery_ul li img {
	width: auto;
	max-height: 50vh;
}

/* ==================================================
navi
================================================== */

/* gnavi
============================== */

.format_free #cms8341-contentsZero #tmp_wrap_gnavi {
	position: relative;
}

.format_top #tmp_gnavi_area {
	position: absolute;
	width: 100%;
	z-index: 10;
	bottom: 0;
}

.format_free #tmp_gnavi_area {
	position: relative;
	width: 100%;
	z-index: 10;
	bottom: 0;
	animation: show .3s ease 0s;
}

.format_free #tmp_gnavi_area.active {
	animation: hide .3s ease 0s;
	opacity: 0;
	visibility: hidden;
}

.format_top #tmp_wrap_gnavi {
	color: #FFFFFF;
	background-color: #2B91D6;
	position: absolute;
	width: 100%;
	z-index: 10;
	bottom: 0;
}

.format_free #tmp_wrap_gnavi {
	color: #3F3F3F;
	background-color: #F2F2F2;
	position: fixed;
	width: 100%;
	z-index: 10;
	top: 50px;
	border-bottom: 4px solid #2891D1;
	animation: show .3s ease 0s;
	box-sizing: border-box;
}

.format_free #tmp_wrap_gnavi.active {
	animation: hide .3s ease 0s;
	opacity: 0;
	visibility: hidden;
}

.format_top #tmp_gnavi {
	position: relative;
	z-index: 20;
	color: #FFFFFF;
	background-color: #2B91D6;
}

.format_top #tmp_gnavi ul {
	list-style: none;
	display: table;
	width: 100%;
	table-layout: fixed;
}

.format_top #tmp_gnavi li {
	display: table-cell;
}

.format_top #tmp_gnavi a {
	position: relative;
	display: block;
	padding: 2em 1em;
	color: inherit;
	background-color: inherit;
	text-align: center;
	font-weight: bold;
	font-size: 1.1em;
	text-decoration: none;
}

.format_free #tmp_gnavi ul {
	list-style: none;
	display: table;
	width: 100%;
	table-layout: fixed;
}

.format_free #tmp_gnavi li {
	display: table-cell;
}

.format_free #tmp_gnavi a {
	position: relative;
	display: block;
	padding: .8em 1em;
	color: inherit;
	background-color: inherit;
	text-align: center;
	font-weight: bold;
	font-size: 1rem;
	text-decoration: none;
}

.format_top #tmp_gnavi a:before {
	content: "";
	position: absolute;
	width: 1px;
	height: 50%;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	background-color: #40A8E2;
}

.format_top #tmp_gnavi li:last-child a:after {
	content: "";
	position: absolute;
	width: 1px;
	height: 50%;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background-color: #40A8E2;
}

* html #tmp_gnavi a {
	width: 100%;
}

#tmp.format_top _gnavi .active a,
.format_top #tmp_gnavi a:hover,
.format_top #tmp_gnavi a:focus {
	color: inherit;
	background-color: #226CC4;
}

.format_free #tmp_gnavi .active a:hover,
.format_free #tmp_gnavi .active a:focus,
.format_free #tmp_gnavi a:hover,
.format_free #tmp_gnavi a:focus {
	color: #ffffff;
	background-color: #2891D1;
}

.format_free #tmp_gnavi .active a {
	color: #ffffff;
	background-color: #919191;
}

#tmp_gnavi .gnavi_icon {
	display: block;
	padding-bottom: .5em;
}

/* navi_active */

.active #tmp_wrap_gnavi {}

.format_top #wrap_navi_sub {
	width: 100%;
	background-color: rgba(255, 255, 255, .9);
	position: absolute;
	bottom: 10em;
	box-sizing: border-box;
	height: 0;
	transition: height ease .4s;
}

.format_free #wrap_navi_sub {
	width: 100%;
	color: #ffffff;
	background-color: #2891D1;
	position: fixed;
	z-index: 5;
	top: 6rem;
	box-sizing: border-box;
	height: 0;
	overflow: hidden;
	transition: height ease .4s;
	box-shadow: 0 0 10px 2px rgba(0, 0, 0, .5);
}

#navi_sub {
	margin: 1.4em auto;
}

#navi_sub .navi_sub_item {
	display: none;
}

#navi_sub .active_menu {
	display: block;
}

#navi_sub .active_menu a {
	display: inline-block;
	padding: 18px 14px;
	width: 25%;
	box-sizing: border-box;
	vertical-align: top;
}

.format_free #navi_sub .active_menu a {
	color: #fff;
}

#navi_sub .active_menu a:hover {
	color: #fff;
	background-color: #293e6d;
}

/* pankuzu
============================== */

#tmp_pankuzu {
	padding: 1rem 0 1.2rem;
	color: inherit;
	clear: both;
}

#tmp_pankuzu a {
	color: #276fc2;
}

#tmp_sma_pankuzu {
	display: none;
}

/* lnavi
============================== */

#tmp_lnavi {
	margin: 0 0 50px;
	clear: both;
}

#tmp_lnavi_ttl {
	margin-bottom: .5rem;
	font-size: 1.1rem;
	font-weight: bold;
}

#tmp_lnavi_ttl a {
	display: block;
	color: #297ABC;
	background-color: transparent;
	text-decoration: none;
	padding: .6em 0 .6rem 0;
}

#tmp_lnavi_cnt {}

#tmp_lnavi_cnt ul {
	list-style: none;
}

#tmp_lnavi_cnt li {
	position: relative;
	margin-bottom: .4rem;
}

#tmp_lnavi_cnt li a {
	display: block;
	font-weight: bold;
	font-size: .95rem;
	padding: .8em 0 .8rem 1.5rem;
	color: #297ABC;
	background-color: transparent;
}

#tmp_lnavi_cnt li a:before {
	content: "";
	display: block;
	width: .8rem;
	height: .2rem;
	position: absolute;
	background-color: #297ABC;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}

#tmp_lnavi_ttl a:hover,
#tmp_lnavi_cnt li a:hover:not(.active_this) {
	background-color: #E2F1F2;
}

#tmp_lnavi_cnt li a.active_this {
	color: #919191;
}

#tmp_lnavi_cnt li a.active_this:before {
	content: "";
	display: block;
	width: .2rem;
	height: .8rem;
	position: absolute;
	background-color: #919191;
	top: 0;
	left: .4rem;
	bottom: 0;
	margin: auto;
}

#tmp_lnavi_cnt li a.active_this:hover {
	cursor: default;
}

#tmp_lnavi_cnt .switch_menu .noicon_list {
	padding-left: 0;
	background: none;
}

#tmp_lnavi_cnt .switch_menu .noicon_list a.switch {
	margin-right: 5px;
}

#tmp_lnavi_cnt .switch_menu .noicon_list a.switch img {
	vertical-align: middle;
}

#tmp_lnavi_cnt .switch_cnt {
	padding: 0 0 0 10px;
}

#tmp_lnavi_cnt .switch_cnt li {
	margin-top: 10px;
	margin-bottom: 0;
	padding-bottom: 0;
	border: none;
}

/* event_cal
============================== */

#tmp_event_cal {
	padding: 8px;
	background: #FFFFFF url(/shared/images/navi/event/cal_ttl_bg.gif) repeat-x left top;
	border: 1px solid #CCDDEE;
	border-top: 2px solid #999999;
}

/* event_cal_ttl */

#tmp_event_cal_ttl {
	clear: both;
}

#tmp_event_cal_ttl .year {
	margin: 5px 0 0 0;
	float: left;
}

#tmp_event_cal_ttl .month {
	float: right;
}

/* event_cal_cnt */

#tmp_event_cal_cnt {
	width: 100%;
	clear: both;
}

#tmp_event_cal_cnt .calendar,
#tmp_event_cal_cnt .calendar td,
#tmp_event_cal_cnt .calendar th {
	/*padding:0;*/
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #CCDDEE;
}

#tmp_event_cal_cnt .calendar {
	width: 100%;
	margin: 0 0 7px;
	color: inherit;
	background-color: #FFFFFF;
}

#tmp_event_cal_cnt .calendar th,
#tmp_event_cal_cnt .calendar td.bgcolor {
	text-align: center;
	font-weight: normal;
	background-color: #DDEEFF;
}

#tmp_event_cal_cnt .calendar td {
	text-align: center;
}

#tmp_event_cal_cnt .calendar a {
	display: block;
	color: #000000;
	background-color: transparent;
}

#tmp_event_cal_cnt .calendar .today {
	color: inherit;
	font-weight: bold;
	/* 変更しない */
	background-color: #FFFFCC !important;
}

#tmp_event_cal_cnt .calendar td.sun a {
	color: #CC0000;
	background-color: transparent;
}

#tmp_event_cal_cnt .calendar td.sat a {
	color: #3333CC;
	background-color: transparent;
}

/* cal_navi */

#tmp_event_cal_cnt .cal_navi {
	list-style: none;
}

#tmp_event_cal_cnt .cal_navi li {
	line-height: 1.2;
	float: left;
}

#tmp_event_cal_cnt .cal_navi .prev {
	padding: 0 6px 0 12px;
	border-right: 1px solid #000000;
}

#tmp_event_cal_cnt .cal_navi .prev a {
	display: block;
	margin: 0 0 0 -12px;
	padding: 0 0 0 12px;
	background: url(/shared/images/navi/event/cal_prev.gif) no-repeat left center;
}

#tmp_event_cal_cnt .cal_navi .next {
	padding: 0 0 0 6px;
}

#tmp_event_cal_cnt .cal_navi .next a {
	display: block;
	padding: 0 12px 0 0;
	background: url(/shared/images/navi/event/cal_next.gif) no-repeat right center;
}

#tmp_event_cal_cnt .cal_navi .list {
	float: right;
}

/* rnavi
============================== */

/* pnavi
============================== */

.ftop {
	position: fixed;
	bottom: 50px;
	right: 40px;
	opacity: 0.8;
	z-index: 100;
}

.ftop:hover {
	opacity: 1;
}

.ptop {
	text-align: right;
	clear: both;
}

/* ==================================================
main
================================================== */

#tmp_main {
	width: 100%;
	/* 変更しない */
	color: inherit;
	background-color: #FFFFFF;
	clear: both;
	/* 変更しない */
}

/* emergency
============================== */

#tmp_emergency {
	margin-bottom: 5em;
	border: 4px solid #E24949;
	clear: both;
	padding: 1em 2em;
}

#tmp_emergency_ttl {
	padding: 0 10px;
	border-bottom: 2px solid #939393;
	text-align: center;
	margin-bottom: .5em;
}

#tmp_emergency_ttl h2 {
	font-size: 130%;
	color: #C61E1E;
	background-color: inherit;
}
#tmp_emergency_cnt a {
	display: block;
	margin-bottom: .5em;
	padding: .5em;
	color: #333333;
}
#tmp_emergency_cnt a:hover {
	background-color: #f7eeee;
}
#tmp_emergency_cnt .page_ttl {
	border-left: 5px solid #C61E1E;
	color: #C61E1E;
	padding: 0 .5em;
	font-weight: bold;
	font-size: 1.2em;
	margin-bottom: .5em;
}

/* emergency_s
============================== */

#tmp_emergency_s {
	margin-bottom: 10px;
	border: 5px solid #FF0000;
	clear: both;
}

#tmp_emergency_s_ttl {
	padding: 0 10px;
	color: inherit;
	background-color: #FF0000;
}

#tmp_emergency_s_ttl h2 {
	font-size: 120%;
}

#tmp_emergency_s_cnt {
	padding: 10px;
}

#tmp_emergency_s_cnt ul {
	margin-left: 20px;
}

#tmp_emergency_s_cnt ul li {
	margin-bottom: 0.3em;
}

/* social_plugins
============================== */

#tmp_custom_update #tmp_social_plugins {
	float: left;
}

#tmp_social_plugins .social_media_btn {
	margin: 0 0 0 10px;
	padding: 0 0 10px;
	float: left;
}

#tmp_custom_update .social_media_btn {
	margin: 0 0 0 10px;
}

#tmp_social_plugins .twitter_btn {
	width: 120px;
}

#tmp_social_plugins .social_media_btn a.twitter-share-button {
	padding: 0 10px 0 0;
	line-height: 1.2;
}

/* update
============================== */

#tmp_wrap_custom_update {
	clear: both;
}

#tmp_custom_update {
	float: right;
}

#tmp_custom_update #tmp_update {
	margin-left: 10px;
	float: right;
}

#tmp_update {
	margin: 0 0 0.8em;
	text-align: right;
}

/* plugin ▼変更しない
============================== */

.plugin {
	margin: 0 0 4em;
	padding: 10px;
	border: 1px solid #CCCCCC;
	clear: both;
}

.plugin .plugin_img {
	margin: 0 10px 0 0 !important;
	float: left;
}

.plugin .plugin_img img {
	vertical-align: top;
}

.plugin p {
	margin: 0 !important;
}

/* inquiry
============================== */

#tmp_inquiry {
	margin: 3em 0 4em;
	clear: both;
	display: table;
	width: 100%;
	border: 1px solid #ffffff;
	box-sizing: border-box;
}

#tmp_inquiry_ttl {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-size: 1.2em;
	padding: 1em 2em;
	color: #fff;
	background-color: #1779C4;
}

#tmp_inquiry_ttl p {
	margin-bottom: 0 !important;
}

#tmp_inquiry_ttl .sub_ttl {
	font-size: .8em;
}

#tmp_inquiry_cnt {
	display: table-cell;
	vertical-align: middle;
	padding: 1em 1.5em;
	background-color: #F4F4F4;
}

#tmp_inquiry_cnt p {
	margin-bottom: 0 !important;
}

#tmp_inquiry_cnt .inquiry_parts {
	display: table;
	width: 100%;
	margin: 0 0 0.8em;
	box-sizing: border-box;
}

#tmp_inquiry_cnt .inquiry_parts .inquiry_parts_main {
	display: table-cell;
	vertical-align: middle;
}

#tmp_inquiry_cnt .inquiry_parts .inquiry_parts_btn {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
}

#tmp_inquiry_cnt .inquiry_btn {
	margin: 0.3em 0 0;
	color: #ffffff;
	background-color: #2B91D6;
	padding: .6em 2em;
	border-radius: 1.5em;
	font-size: .9em;
}

#tmp_inquiry_cnt .inquiry_area {
	padding: 1em 1em .2em 1em;
}

#tmp_inquiry_cnt .inquiry_area + .inquiry_area {
	border-top: 1px solid #E5E5E5;
}

/* feedback
============================== */

#tmp_feedback {
	margin: 0 0 4em;
	padding: 1.5em 2em;
	border: 1px solid #D0D0D0;
	clear: both;
}

#tmp_feedback_ttl {
	margin: 0 0 .5em 0;
	color: inherit;
	font-weight: bold;
}

#tmp_feedback_ttl p {
	margin-bottom: 0 !important;
}

#tmp_feedback_cnt dl {
	font-size: .9em;
}

#tmp_feedback_cnt dt {
	margin: 0 0 0.5em 0;
	clear: both;
}

#tmp_feedback_cnt dd {
	margin: 0 0 0.8em 0;
	clear: both;
}

#tmp_feedback_cnt dd p {
	display: inline;
	margin: 0 1em 0 0;
	float: left;
}

#tmp_feedback_cnt .submit {
	margin: 0.8em 0 0 0 !important;
	text-align: center;
	clear: both;
}
/* ==================================================
mymenu
================================================== */
#tmp_mymenu {
	border-top: 2px solid #eee;
}
#tmp_mymenu_ttl {
	color: #a1a1a1;
	padding: 5px 0;
}
#tmp_mymenu_cnt {
	padding: 0 10px 10px 10px;
}
#tmp_mymenu_list {
	margin-bottom: 10px;
	font-size: .9em;
	list-style: none;
}
#tmp_mymenu_list li {
	position: relative;
	padding: 10px 0 10px 30px;
}
#tmp_mymenu_list .mymenu_item_del {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	padding: 0 2px;
	width: 15px;
	height: 20px;
	font-size: 13px;
	text-align: center;
	border-radius:50%;
	display: inline-block;
	font-weight: bold;
	color: #fff;
	background-color: #939393;
	cursor: pointer;
}
#tmp_mymenu_status .mymenu_btn {
	display: inline-block;
	margin-bottom: 5px;
	padding-right: 5px;
}
#tmp_mymenu_status .mymenu_btn span {
	display: block;
	padding: 5px 10px;
	background-image: none;
}
#tmp_mymenu_status .mymenu_btn span.btn {
    display: inline;
    font-size: .85em;
}
#tmp_mymenu_status .already {
	font-size: .9em;
}

/* ==================================================
banner
================================================== */

#tmp_publicity {
	padding: 10px 0 0 10px;
	color: inherit;
	background-color: #DDEEFF;
	border-bottom: 1px solid #AABBCC;
	clear: both;
}

#tmp_publicity_ttl {
	margin: 0 0 0.3em;
}

#tmp_publicity_cnt ul {
	list-style-type: none;
}

#tmp_publicity_cnt ul li {
	margin: 0 10px 0 0;
	padding: 0 0 10px;
	float: left;
}

#tmp_publicity_cnt ul li img {
	vertical-align: top;
}

/* ==================================================
model_change
================================================== */

#tmp_model_change_pub {
	clear: both;
}

/* 切替ボタン
============================== */

#tmp_model_change ul {
	display: -webkit-box;
	/* 変更しない */
	display: -moz-box;
	/* 変更しない */
	display: box;
	/* 変更しない */
	width: 100%;
	/* 変更しない */
	list-style: none;
	/* 変更しない */
	list-style-image: none;
	/* 変更しない */
	margin: 20px 0;
	border-bottom: 1px solid #AABBCC;
	clear: both;
	/* 変更しない */
}

#tmp_model_change li {
	display: -webkit-box;
	/* 変更しない */
	display: -moz-box;
	/* 変更しない */
	display: box;
	/* 変更しない */
	-webkit-box-flex: 1;
	/* 変更しない */
	-moz-box-flex: 1;
	/* 変更しない */
	box-flex: 1;
	/* 変更しない */
	-webkit-box-sizing: border-box;
	/* 変更しない */
	-moz-box-sizing: border-box;
	/* 変更しない */
	box-sizing: border-box;
	/* 変更しない */
	width: 100%;
	/* 変更しない */
	font-size: 143%;
	font-weight: bold;
}

#tmp_model_change li a {
	display: -webkit-box;
	/* 変更しない */
	display: -moz-box;
	/* 変更しない */
	display: box;
	/* 変更しない */
	-webkit-box-flex: 1;
	/* 変更しない */
	-moz-box-flex: 1;
	/* 変更しない */
	box-flex: 1;
	/* 変更しない */
	-webkit-box-align: center;
	/* 変更しない */
	-moz-box-align: center;
	/* 変更しない */
	box-align: center;
	/* 変更しない */
	-webkitbox-pack: center;
	/* 変更しない */
	-moz-box-pack: center;
	/* 変更しない */
	box-pack: center;
	/* 変更しない */
	-webkit-box-sizing: border-box;
	/* 変更しない */
	-moz-box-sizing: border-box;
	/* 変更しない */
	box-sizing: border-box;
	/* 変更しない */
	text-align: center;
	text-decoration: none;
	padding: 16px 10px;
	color: #333333;
	background-color: #DDEEFF;
}

#tmp_model_change li a span {
	display: block;
	/* 変更しない */
	width: 100%;
	/* 変更しない */
}

#tmp_model_change li a.active {
	color: inherit;
	background-color: #BBCCDD;
}

/* PCスマホ切替表示 ▼変更しない
============================== */

#tmp_model_change {
	display: none;
}

@media screen and (max-width: 480px) {
	#tmp_model_change {
		display: block;
	}
}

/* ==================================================
footer
================================================== */

#cms8341-contrasttarget #tmp_wrap_footer {
	position: relative;
}
#tmp_footer {
	padding: 3em 0;
	color: #FFFFFF;
	background-color: #1779C4;
	text-align: center;
	clear: both;
}

/* fnavi
============================== */

#tmp_wrap_footer {
	padding: 220px 0 0 0;
	background-image: url('/shared/images/footer/footer.svg');
	background-position: top 20px center;
	background-repeat: repeat-x;
	position: absolute;
	bottom: 0;
	width: 100%;
}

#tmp_footer_bg {
	position: absolute;
	top: 0;
	width: 100%;
	height: 220px;
	overflow: hidden;
	pointer-events: none;
}

#tmp_footer_bg .car {
	position: absolute;
	bottom: 20px;
	left: calc(50vw - 100px);
	animation: car-anime 160s linear infinite;
}

#tmp_footer_bg .car2 {
	position: absolute;
	bottom: 40px;
	left: -200px;
	animation: car-anime 120s linear infinite;
}

#tmp_footer_bg .car3 {
	position: absolute;
	bottom: 40px;
	left: 150px;
	animation: car-anime-return 120s linear infinite;
	-webkit-animation: car-anime-return 120s linear infinite;
}

#tmp_footer_bg .wheel {
	position: absolute;
	top: 53px;
	left: calc(50vw - 416px);
	animation: wheel-anime 15s linear infinite;
}

#tmp_footer_bg .wheel_bg {
	position: absolute;
	bottom: 109px;
	left: calc(50vw + -413px);
}

#tmp_footer_bg .train {
	position: absolute;
	bottom: 60px;
	left: calc(50vw - 200px);
	animation: train-anime 60s linear infinite;
}

#tmp_footer_bg .train2 {
	position: absolute;
	bottom: 60px;
	left: calc(50vw + 200px);
	animation: train2-anime 60s linear infinite;
}

#tmp_footer_bg .ash {
	position: absolute;
	bottom: 152px;
	left: calc(50vw + 116px);
}

#tmp_footer_bg .ash_svg {
	fill: none;
	stroke: #2b91d6;
	stroke-width: 2;
	stroke-linecap: round;
}

#tmp_footer_bg .sakurajima {
	position: absolute;
	bottom: 109px;
	left: calc(50vw + -4px);
}

@keyframes wheel-anime {
	0% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes car-anime {
	0% {
		transform: translateX(0px);
	}
	100% {
		transform: translateX( calc(100vw + 300px));
	}
}

@keyframes train-anime {
	/* 	0%  {transform: translateX( calc(100vw + 150px) );}
	100%  {transform: translateX( 0px );} */
	0% {
		left: calc(100vw + 150px);
	}
	100% {
		left: calc(0px);
	}
}

@keyframes train2-anime {
	/* 	0%  {transform: translateX( 0px );}
	100%  {transform: translateX( calc(100vw + 150px) );} */
	0% {
		left: 0px;
	}
	100% {
		left: calc(100vw + 150px);
	}
}

@keyframes car-anime-return {
	/* 	0%  {transform: translateX( calc(100vw + 150px) );}
	100%  {transform: translateX( 0px );} */
	0% {
		left: calc(100vw + 150px);
	}
	100% {
		left: 0px;
	}
}



#tmp_wrap_footer_link {
	background-color: #F7F3ED;
}

#tmp_fnavi {
	color: inherit;
	list-style: none;
	font-size: .9em;
}

#tmp_fnavi li {
	margin: 0 10px 0 0;
	white-space: nowrap;
	float: left;
}

#tmp_fnavi li a {
	display: inline-block;
	padding: 1em 1em;
	color: #1571C6;
}

#tmp_fnavi li a:hover {
	background-color: #ece6d9;
}

#tmp_fnavi .last {
	margin-right: 0;
}

#tmp_footer_cnt {
	position: relative;
	padding: 0 10px;
	clear: both;
}

#tmp_footer_cnt address {
	margin: 0 0 5px;
	font-style: normal;
}

#tmp_footer_cnt address span {
	margin: 0 1em 0 0;
}

#tmp_footer_cnt address span.br {
	display: block;
	/* スマホでinline値にする場合 */
}

#tmp_footer_cnt address span.spbr {
	display: inline;
	/* スマホでblock値にする場合 */
}

#tmp_footer_sns {
	position: absolute;
	right: 0;
	top: 0;
}

#tmp_footer_sns p {
	display: inline-block;
}

#tmp_footer_sns a {
	display: block;
	padding: .5em .5rem;
	border-radius: 50%;
	color: #ffffff;
}

#tmp_footer_sns a:hover {
	background-color: #1264a2;
}

#tmp_copyright {
	text-align: center;
	clear: both;
}

/* ==================================================
used_bg_img
================================================== */

.used_bg_img a,
.used_bg_img span {
	display: block;
	/* 変更しない */
}

.used_bg_img span {
	position: relative;
	/* 変更しない */
	z-index: -1;
	/* 変更しない */
	overflow: hidden;
	/* 変更しない */
}

/* ==================================================
class
================================================== */

/* text
============================== */

.underline {
	text-decoration: underline;
	/* 変更しない */
}

.strike {
	text-decoration: line-through;
	/* 変更しない */
}

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */

/* 構築シートによって種類増減 */

.txt_blue {
	color: #1f78b9;
	background: transparent;
}

.txt_red {
	color: #990000;
	background-color: transparent;
}

.txt_green {
	color: #007500;
	background: transparent;
}

/* ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲ */

.txt_big {
	font-size: 130%;
	/* body 14pxのとき20px相当 */
	/* font-size:134%; body 12pxのとき16px相当 */
}

.txt_small {
	font-size: 86%;
	/* body 14pxのとき12px相当 */
	/*font-size:84%;  body 12pxのとき10px相当 */
}

.space_lft1 {
	padding-left: 1em;
	/* 変更しない */
}

/* image ▼変更しない
============================== */

.float_lft {
	margin-right: 20px !important;
	margin-bottom: 10px !important;
	clear: both;
	float: left;
}

.float_rgt {
	margin-bottom: 10px !important;
	margin-left: 20px !important;
	clear: both;
	float: right;
}

.clear {
	clear: both;
}

/* noicon ▼変更しない
============================== */

ul.noicon {
	margin-left: 3.2em !important;
	text-indent: -1.5em !important;
	list-style: none !important;
	list-style-image: none !important;
}

ul.noicon li:before {
	display: none !important;
}

ul.noicon ul,
ul.noicon ol,
ul.noicon p,
ul.noicon h1,
ul.noicon h2,
ul.noicon h3,
ul.noicon h4,
ul.noicon h5,
ul.noicon h6,
ul.noicon table,
ul.noicon div {
	text-indent: 0 !important;
}

ul ul.noicon,
ol ul.noicon {
	margin-left: 1.5em !important;
	text-indent: -1.5em !important;
}

/* ==================================================
parts
================================================== */

/* col2 ▼変更しない
============================== */

table.col2 {
	width: 99%;
	border-collapse: collapse;
	border-spacing: 0;
}

table.col2 td.col2L,
table.col2 td.col2R {
	padding: 0;
	vertical-align: top;
	text-align: left;
}

table.col2 td.col2L {
	width: 50%;
	border-right-width: 15px;
}

#tmp_main table.col2 td.col2L {
	border-right: 15px solid #FFFFFF;
}

table.col2 td.col2R {
	width: 50%;
}

div.col2 {
	width: 100%;
}

div.col2 div.col2L {
	display: table;
	width: 47%;
	margin-right: 5%;
	float: left;
}

div.col2 div.col2R {
	display: table;
	width: 47%;
	float: left;
}

/* nestcol2 ▼変更しない
============================== */

table.col2 table.col2 td.col2L {
	padding: 0;
}

div.col2 div.col2 div.col2L {
	width: 47.5%;
	margin-right: 4%;
}

div.col2 div.col2 div.col2R {
	width: 47.5%;
}

/* fixed_col2 ▼変更しない
   編集領域には使わない（イベントカレンダー・定型等に使う）
============================== */

div.fixed_col2 {
	width: 100%;
}

div.fixed_col2 div.fixed_col2L {
	display: table;
	width: 48.5%;
	margin-right: 2%;
	float: left;
}

div.fixed_col2 div.fixed_col2R {
	display: table;
	width: 48.5%;
	float: right;
}

/* col3 ▼変更しない
============================== */

table.col3 {
	width: 99%;
	border-collapse: collapse;
	border-spacing: 0;
}

table.col3 td.col3L,
table.col3 td.col3M,
table.col3 td.col3R {
	padding: 0;
	vertical-align: top;
	text-align: left;
}

table.col3 td.col3L,
table.col3 td.col3M {
	width: 33.33%;
	border-right-width: 15px;
}

#tmp_main table.col3 td.col3L,
#tmp_main table.col3 td.col3M {
	border-right: 15px solid #FFFFFF;
}

table.col3 td.col3R {
	width: 33.33%;
}

div.col3 {
	width: 100%;
}

div.col3 div.col3L,
div.col3 div.col3M {
	display: table;
	width: 31.7%;
	margin-right: 2%;
	float: left;
}

div.col3 div.col3R {
	display: table;
	width: 31.7%;
	float: left;
}

/* img_cap ▼変更しない
============================== */

table.img_cap {
	margin: 0 0 0.3em;
	border-collapse: collapse;
	border-spacing: 0;
}

table.img_cap td {
	padding: 0;
}

div.img_cap {
	margin: 0 0 0.3em;
}

div.img_cap img {
	margin: 0 !important;
}

/* layouttable ▼変更しない
============================== */

table.layouttable {
	border-collapse: collapse;
	border-spacing: 0;
}

table.layouttable td {
	padding: 0 15px 0 0;
	vertical-align: top;
	text-align: left;
}

#cms8341-contentsZero table [table_type="2"] {
	border: 1px solid #ccc;
}

table [table_type="2"] {
	border: none;
}

/* box_faq
============================== */

.box_faq {
	margin: 0 0 4em;
	/* 変更しない */
	padding: 1px;
	border: 1px solid #AABBCC;
	clear: both;
	/* 変更しない */
}

.box_faq .box_faq_ttl {
	padding: 3px 7px;
	color: inherit;
	font-weight: bold;
	background-color: #DDEEFF;
	border-bottom: 1px solid #BBCCDD;
}

.box_faq .box_faq_ttl p {
	margin-bottom: 0 !important;
	/* 変更しない */
}

.box_faq .box_faq_cnt {
	padding: 10px 10px 0;
}

.box_faq_cnt p {
	margin-bottom: 0.8em !important;
	/* 変更しない */
}

.box_faq_cnt ul {
	margin-bottom: 0.8em !important;
	/* 変更しない */
	margin-left: 24px !important;
	/* 変更しない */
	list-style-image: url(/shared/images/icon/list_icon.gif) !important;
	/* 変更しない */
}

.box_faq_cnt ul ul {
	margin: 0.3em 0 0 24px !important;
	/* 変更しない */
}

.box_faq_cnt ul li {
	margin: 0 0 0.5em !important;
	/* 変更しない */
}

/* ==================================================
XHTML 1.0 Strict
================================================== */

/* text ▼変更しない
============================== */

.left {
	text-align: left;
}

.right {
	text-align: right;
}

.center {
	text-align: center;
}

table.center,
div.center table {
	margin-right: auto !important;
	margin-left: auto !important;
}

/* image ▼変更しない
============================== */

img.left {
	float: left;
}

img.right {
	float: right;
}

img.center {
	vertical-align: middle;
}

img.top {
	vertical-align: text-top;
}

img.bottom {
	vertical-align: text-bottom;
}

/* table div ▼変更しない
============================== */

table.left {
	float: left;
}

table.right {
	float: right;
}

table.center,
div.center table {
	margin-right: auto !important;
	margin-left: auto !important;
}

th.nowrap,
td.nowrap {
	white-space: nowrap;
}

/* ==================================================
Google
================================================== */

#cse .gsc-thinWrapper {
	width: 100% !important;
}

/* Full URL */

.gs-webResult div.gs-visibleUrl-short,
.gs-promotion div.gs-visibleUrl-short {
	display: none !important;
}

.gs-webResult div.gs-visibleUrl-long,
.gs-promotion div.gs-visibleUrl-long {
	display: block !important;
}

/* ==================================================
system
================================================== */

/* indent ▼変更しない
============================== */

div.section,
blockquote {
	padding: 0 0 0 1em;
}

/* linkicon
============================== */

#tmp_main a.icon_pdf,
#tmp_main a.icon_word,
#tmp_main a.icon_excel {
	display: inline-block;
}

a.icon_pdf,
a.icon_word,
a.icon_excel {
	margin: 0 3px;
	padding-left: 36px;
	text-indent: 0 !important;
}

li a.icon_pdf,
li a.icon_word,
li a.icon_excel {
	background-position: 0 0.2em;
}

a.icon_pdf {
	background: url(/shared/system/images/linkicon/icon_pdf.gif) no-repeat 0 0.4em;
}

a.icon_word {
	background: url(/shared/system/images/linkicon/icon_word.gif) no-repeat 0 0.4em;
}

a.icon_excel {
	background: url(/shared/system/images/linkicon/icon_excel.gif) no-repeat 0 0.4em;
}

/* bgcolor
============================== */

/* ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ */

/* 構築シートによって種類増減 */

td.bg_red,
th.bg_red {
	color: inherit;
	background-color: #F9ECE8;
	/* デザインによって変更 */
}

td.bg_yellow,
th.bg_yellow {
	color: inherit;
	background-color: #f6fae0;
	/* デザインによって変更 */
}

td.bg_blue,
th.bg_blue {
	color: inherit;
	background-color: #E9F3F4;
	/* デザインによって変更 */
}

td.bg_gray,
th.bg_gray {
	color: inherit;
	background-color: #efefef;
	/* デザインによって変更 */
}

td.bg_green,
th.bg_green {
	color: inherit;
	background-color: #E9F4EF;
	/* デザインによって変更 */
}

td.bg_purple,
th.bg_purple {
	color: inherit;
	background-color: #f5f2ff;
	/* デザインによって変更 */
}

/* ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲ */

/* ==================================================
clearfix
================================================== */

/* for modern browser */

.clear_both:after,
.col_nm:after,
#tmp_contents:after,
#tmp_maincontents:after,
#tmp_header:after,
#tmp_means:after,
#tmp_means_primary:after,
#tmp_func_txt:after,
#tmp_func_clr:after,
#tmp_means_secondary:after,
#tmp_search:after,
#tmp_means_tertiary:after,
#tmp_hnavi:after,
#tmp_main:after,
#tmp_wrap_main:after,
#tmp_lnavi:after,
#tmp_lnavi_ttl:after,
#tmp_lnavi_cnt:after,
#tmp_event_cal:after,
#tmp_event_cal_ttl:after,
#tmp_event_cal_cnt .cal_navi:after,
#tmp_emergency:after,
#tmp_emergency_ttl:after,
#tmp_emergency_cnt:after,
#tmp_emergency_s:after,
#tmp_emergency_s_ttl:after,
#tmp_emergency_s_cnt:after,
#tmp_wrap_custom_update:after,
#tmp_custom_update:after,
#tmp_social_plugins:after,
.plugin:after,
.pnavi:after,
#tmp_feedback:after,
#tmp_feedback_ttl:after,
#tmp_feedback_cnt:after,
#tmp_feedback_cnt dd:after,
#tmp_publicity_cnt:after,
#tmp_footer:after,
#tmp_fnavi:after,
#tmp_footer_cnt:after,
div.col2:after,
div.fixed_col2:after,
div.col3:after,
.box_faq:after,
.box_faq_ttl:after,
.box_faq_cnt:after {
	content: ".";
	/* 変更しない */
	display: block;
	/* 変更しない */
	height: 0;
	/* 変更しない */
	font-size: 0.1%;
	/* 変更しない */
	line-height: 0.1;
	/* 変更しない */
	clear: both;
	/* 変更しない */
	visibility: hidden;
	/* 変更しない */
}

/* for IE7.0 */

*:first-child + html .col_nm,
*:first-child + html #tmp_contents,
*:first-child + html #tmp_maincontents,
*:first-child + html #tmp_header,
*:first-child + html #tmp_means,
*:first-child + html #tmp_means_primary,
*:first-child + html #tmp_func_txt,
*:first-child + html #tmp_func_clr,
*:first-child + html #tmp_means_secondary,
*:first-child + html #tmp_search,
*:first-child + html #tmp_means_tertiary,
*:first-child + html #tmp_hnavi,
*:first-child + html #tmp_gnavi,
*:first-child + html #tmp_gnavi ul,
*:first-child + html #tmp_wrap_main,
*:first-child + html #tmp_main,
*:first-child + html #tmp_lnavi,
*:first-child + html #tmp_lnavi_ttl,
*:first-child + html #tmp_lnavi_cnt,
*:first-child + html #tmp_event_cal,
*:first-child + html #tmp_event_cal_ttl,
*:first-child + html #tmp_event_cal_cnt .cal_navi,
*:first-child + html #tmp_emergency,
*:first-child + html #tmp_emergency_ttl,
*:first-child + html #tmp_emergency_cnt,
*:first-child + html #tmp_emergency_s,
*:first-child + html #tmp_emergency_s_ttl,
*:first-child + html #tmp_emergency_s_cnt,
*:first-child + html #tmp_wrap_custom_update,
*:first-child + html #tmp_custom_update,
*:first-child + html #tmp_social_plugins,
*:first-child + html .plugin,
*:first-child + html .pnavi,
*:first-child + html #tmp_inquiry,
*:first-child + html #tmp_inquiry_ttl,
*:first-child + html #tmp_inquiry_cnt,
*:first-child + html #tmp_feedback,
*:first-child + html #tmp_feedback_ttl,
*:first-child + html #tmp_feedback_cnt,
*:first-child + html #tmp_feedback_cnt dd,
*:first-child + html #tmp_publicity_cnt,
*:first-child + html #tmp_footer,
*:first-child + html #tmp_fnavi,
*:first-child + html #tmp_footer_cnt,
*:first-child + html div.col2,
*:first-child + html div.fixed_col2,
*:first-child + html div.col3,
*:first-child + html .box_faq,
*:first-child + html .box_faq_ttl,
*:first-child + html .box_faq_cnt {
	min-height: 1%;
	/* 変更しない */
}

/* for IE6.0 */

* html .col_nm,
* html #tmp_contents,
* html #tmp_maincontents,
* html #tmp_header,
* html #tmp_means,
* html #tmp_means_primary,
* html #tmp_func_txt,
* html #tmp_func_clr,
* html #tmp_means_secondary,
* html #tmp_search,
* html #tmp_means_tertiary,
* html #tmp_hnavi,
* html #tmp_gnavi,
* html #tmp_gnavi ul,
* html #tmp_wrap_main,
* html #tmp_main,
* html #tmp_lnavi,
* html #tmp_lnavi_ttl,
* html #tmp_lnavi_cnt,
* html #tmp_event_cal,
* html #tmp_event_cal_ttl,
* html #tmp_event_cal_cnt .cal_navi,
* html #tmp_emergency,
* html #tmp_emergency_ttl,
* html #tmp_emergency_cnt,
* html #tmp_emergency_s,
* html #tmp_emergency_s_ttl,
* html #tmp_emergency_s_cnt,
* html #tmp_wrap_custom_update,
* html #tmp_custom_update,
* html #tmp_social_plugins,
* html .plugin,
* html .pnavi,
* html #tmp_inquiry,
* html #tmp_inquiry_ttl,
* html #tmp_inquiry_cnt,
* html #tmp_feedback,
* html #tmp_feedback_ttl,
* html #tmp_feedback_cnt,
* html #tmp_feedback_cnt dd,
* html #tmp_publicity_cnt,
* html #tmp_footer,
* html #tmp_fnavi,
* html #tmp_footer_cnt,
* html div.col2,
* html div.fixed_col2,
* html div.col3,
* html .box_faq,
* html .box_faq_ttl,
* html .box_faq_cnt {
	display: inline-block;
	/* 変更しない */
}


/* ==================================================
Origin
================================================== */

/* top
============================== */

.top_h2 {
	text-align: center;
	margin-bottom: 2em;
}

.top_h2_main {
	display: inline-block;
	font-size: 1.3em;
	color: #0066D4;
	background: -webkit-linear-gradient(0deg, #0066D4, #29A8DF);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: bold;
}

.top_h2_sub {
	display: block;
	font-size: .65em;
	color: #666666;
}

/* package */
#tmp_wrap_package{
	position:relative;
	background-color:#ffffff;
	z-index:10;
}

#tmp_package {
	padding: 6em 0;
}

#tmp_package_cnt {
	display: table;
	table-layout: fixed;
	width: 100%;
}

#tmp_package_cnt .package_col {
	display: table-cell;
}

#tmp_package_cnt .package_col a {
	display: block;
	padding: 1em 2em;
}

#tmp_package_cnt .package_col a:hover {
	background-color: #f1f8ff;
}

#tmp_package_cnt .package_col a span {
	display: block;
}

#tmp_package_cnt .package_img {
	overflow: hidden;
	width: 100%;
	height: auto;
	/* background: #000; */
}

#tmp_package_cnt .package_img img {
	width: 100%;
	height: auto;
	transition-duration: 0.8s;
}

#tmp_package_cnt .package_col a:hover .package_img img {
	opacity: 0.7;
	transform: scale(1.1);
	transition-duration: 0.5s;
}

#tmp_package_cnt .package_ttl {
	color: #1e78aa;
	font-size: 1.1em;
	font-weight: bold;
	padding: .8em 0 .6em;
	text-align: center;
}

#tmp_package_cnt .package_cnt {
	color: #333333;
	font-size: .9em;
}

/* information */

#tmp_wrap_information {
	background-color: #F2F2F2;
}

#tmp_information {
	padding: 6em 0;
}

#tmp_information_cnt .info_row {
	border-top: 1px solid #E5E5E5;
}

#tmp_information_cnt .info_row:last-child {
	border-bottom: 1px solid #E5E5E5;
}

#tmp_information_cnt .info_row a {
	display: block;
	padding: 1rem 1rem;
	color: #007AC8;
}

#tmp_information_cnt .info_row2 {
	border-top: 1px solid #E5E5E5;
	display: block;
	padding: 1rem 1rem;
}

#tmp_information_cnt span {
	display: inline-block;
	position: relative;
	padding: .4em 1em;
}

#tmp_information_cnt span:nth-child(1) {
	width: 8em;
}

#tmp_information_cnt span:nth-child(2) {
	min-width: 12em;
}

#tmp_information_cnt .info_cate:after {
	content: "お知らせ";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	width: 10em;
	height: 1.4em;
	color: #5f5f5f;
	border: 1px solid #aaa;
}

#tmp_information_cnt .cate_001_001:after {
	content: "民間・団体";
	color: #527eb2;
	border: 1px solid #527eb2;
}

#tmp_information_cnt .cate_001_002:after,
#tmp_information_cnt .info_007:after {
	content: "医療・介護";
	color: #B25262;
	border: 1px solid #B25262;
}

#tmp_information_cnt .cate_001_003:after {
	content: "官公庁・公共";
	color: #52abb2;
	border: 1px solid #52a7b2;
}

#tmp_information_cnt .cate_003_006:after,
#tmp_information_cnt .cate_004_001:after {
	content: "イベント";
	color: #246fbe;
	border: 1px solid #448ad4;
}


#tmp_information_cnt .cate_003_001:after,
#tmp_information_cnt .cate_003_002:after,
#tmp_information_cnt .cate_003_003:after,
#tmp_information_cnt .cate_003_004:after {
	content: "採用";
	color: #515151;
	border: 1px solid #515151;
}

#tmp_information_cnt .cate_006_001:after {
	content: "重要";
	color: #ad2c42;
	border: 1px solid #a8243a;
}

#tmp_information_cnt .info_row a:hover {
	background-color: #eaeaea;
}


/* panel */

#tmp_wrap_panel {
	background: url('/shared/images/top/bg_panel.jpg') center center / cover no-repeat;
}

#tmp_panel {
	padding: 8rem 40px;
	box-sizing: border-box;
}

#tmp_panel ul {
	list-style: none;
	width: 1110px;
	margin: auto;
}

#tmp_panel li {
	float: left;
	margin: 0 5px 10px 5px;
	width: 360px;
	animation: show .3s ease 0s;
	opacity: 1;
	min-height: 9rem;
}

#tmp_panel li.change {
	animation: hide .3s ease 0s;
	opacity: 0;
}

#tmp_panel li img {
	width: 100%;
	height: 9rem;
}

#tmp_panel ul:after {
	content: "";
	display: block;
	clear: both;
}

#tmp_panel li a {
	display: block;
	border-radius: 5px;
	background-color: #ffffff;
	border: 3px solid #ffffff;
	opacity: 1;
}

#tmp_panel li a:hover {
	border: 3px solid #fff;
	box-sizing: border-box;
	opacity: 0.9;
}

#tmp_panel .panel_ctrl {
	margin-top: 1rem;
	text-align: center;
}

#tmp_panel .panel_ctrl span {
	display: inline-block;
	vertical-align: middle;
	padding: 0 .5rem;
	min-width: auto;
}
#tmp_panel .panel_ctrl .auto {
	display: none;
}

#tmp_panel .panel_ctrl span:hover {
	opacity: .9;
	/* 	cursor: ; */
}

/* banner */

#tmp_banner_top {
	padding: 6rem 40px 2em;
	box-sizing: border-box;
}

#tmp_banner_top ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#tmp_banner_top li {
	width: 30%;
	margin: 0 1% 25px 1%;
}

#tmp_banner_top ul:after {
	content: "";
	display: block;
	clear: both;
}

#tmp_banner_top li a {
	display: block;
	border: 1px solid #ccc;
	box-sizing: border-box;
	background-color: #ffffff;
}

#tmp_banner_top li a img {
	width: 100%;
	height: auto;
}


/* ==================================================
department
================================================== */

.department_header {
	margin-bottom: 3rem;
}

.department_header span > img {
	width: 100%;
	height: auto;
}

.department_panel_area {
	margin-bottom: 5rem;
}

.department_panel {
	display: table;
	width: 100%;
	table-layout: fixed;
	margin-bottom: 1rem;
	border: 1px solid #ffffff;
	box-sizing: border-box;
}

.department_panel:hover {
	opacity: 0.9;
}

.department_panel > span {
	display: table-cell;
	vertical-align: middle;
	font-weight: bold;
	box-sizing: border-box;
}

.department_panel .panel_title {
	font-size: 1.8rem;
	width: 40%;
	padding: 2rem;
}

.department_panel .panel_sub {
	position: relative;
	font-size: 1rem;
	padding: 2rem 5rem 2rem 2rem;
}

.department_panel.panel_blue .panel_title {
	background: #199EB3;
	background: -moz-linear-gradient(left, #199EB3, #1983A2);
	background: -webkit-gradient(left top, right top, color-stop(#199EB3), color-stop(#1983A2));
	background: -webkit-linear-gradient(left, #199EB3, #1983A2);
	background: -o-linear-gradient(left, #199EB3, #1983A2);
	background: -ms-linear-gradient(left, #199EB3, #1983A2);
	background: linear-gradient(to right, #199EB3, #1983A2);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#199EB3', endColorstr='#1983A2', GradientType=1);
	color: #fff;
}

.department_panel.panel_blue .panel_sub {
	background: #126887;
	background: -moz-linear-gradient(left, #126887, #124D76);
	background: -webkit-gradient(left top, right top, color-stop(#126887), color-stop(#124D76));
	background: -webkit-linear-gradient(left, #126887, #124D76);
	background: -o-linear-gradient(left, #126887, #124D76);
	background: -ms-linear-gradient(left, #126887, #124D76);
	background: linear-gradient(to right, #126887, #124D76);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#126887', endColorstr='#124D76', GradientType=1);
	color: #fff;
}

.department_panel .panel_sub:after {
	content: "";
	position: absolute;
	width: 2rem;
	height: 2rem;
	background: url(/shared/images/common/icon-arrow-right.svg) center center / auto 1.5rem no-repeat transparent;
	top: 0;
	right: 1.5rem;
	bottom: 0;
	margin: auto;
}

.department_panel.panel_yellow .panel_title {
	background: #C5AA54;
	color: #fff;
}

.department_panel.panel_yellow .panel_sub {
	background: #9E8843;
	color: #fff;
}

.index_list {
	display: inline-block;
	display: -js-flex;
	display: flex;
	/* justify-content: space-between; */
	/* justify-content: center; */
	flex-wrap: wrap;
	margin-bottom: 3rem;
	padding: 0 1rem;
}

.index_list + .btn-area-large {
	margin: -2rem 0 8rem 0;
}

.index_list .index_col:hover {
	border: 1px solid #F4F4F4;
	background-color: #F4F4F4;
}

.index_list .index_col span {
	display: block;
	text-align: center;
	box-sizing: border-box;
}

.index_list .index_col {
	display: inline-block;
	vertical-align: top;
	margin: 0 1rem 2.5rem 1rem;
	padding: 3rem 2rem 3rem 2rem;
	color: #3F3F3F;
	text-decoration: none;
	box-sizing: border-box;
	border: 1px solid #EFEFEF;
	background: url(/shared/images/common/icon-btn-arrow.svg) no-repeat top .7rem left .7rem #EFEFEF;
	width: calc(100% / 3 - 2.2rem);
	box-sizing: border-box;
	color: #3F3F3F;
	padding: 2.5rem 1.5rem 2rem 1.5rem;
}

.package_index .index_list .index_col {
	padding: 3.5rem 2rem 3.5rem 2rem;
}

.package_iryo .index_list .index_col {
	width: calc(100% / 2 - 2.5rem);
}

.index_list .index_col:hover {
	border: 1px solid #F4F4F4;
	background-color: #F4F4F4;
}

.index_col span {
	display: block;
}

.index_list .index_col .img {
	margin-bottom: 1rem;
}

.index_list .index_col .title {
	font-weight: bold;
	font-size: 1rem;
	margin-bottom: .8rem;
}

.index_list .index_col .summary {
	font-size: .9rem;
	text-align: left;
}

.index_col .img > img {
	width: auto;
	max-height: 140px;
}

.index_col .ttl {
	font-weight: bold;
	font-size: 1.1rem;
}

.package_index .index_list .index_link_bar {
	width: calc(25% - 1rem);
	border-top: 5px solid #efefef;
	padding: .5rem 1rem;
	box-sizing: border-box;
}

.package_index .index_list .index_link_bar + .index_col {
	width: calc(25% - 1rem);
}

/* 定型用！ぼっくす！！！ */

.index_box_area {
	display: block;
	display: -js-flex;
	display: flex;
	/* justify-content: space-between; */
	/* justify-content: center; */
	flex-wrap: wrap;
	margin-bottom: 3rem;
	padding: 0 1rem;
}

.index_box_area + .btn-area-large {
	margin: -2rem 0 8rem 0;
}

.index_box_area .index_box {
	display: inline-block;
	width: calc(100% / 3 - 2.2rem);
	margin: 0 1rem 2.5rem 1rem;
	box-sizing: border-box;
	vertical-align: top;
}

.index_box_col_4 .index_box_area .index_box {
	width: calc(100% / 4 - 2.2rem);
}

.index_box_col_3 .index_box_area .index_box {
	width: calc(100% / 3 - 2.2rem);
}

.index_box_col_2 .index_box_area .index_box {
	width: calc(100% / 2 - 2.2rem);
}

.index_box_area .index_box .index_box_input {
	background: #ddecef;
	padding: 3px 10px 0;
	margin: 0 !important;
}

.index_box_area .index_box .box_input_label {
	display: inline-block;
	width: 30%;
}

.index_box_area .index_box .box_input input[type="text"],
.index_box_area .index_box .box_input textarea {
	width: 70%;
	box-sizing: border-box;
}

.index_box_area .index_box .index_box_input:last-child {
	padding-bottom: 5px;
}

.index_box_area .index_box_cnt {
	display: block;
	vertical-align: top;
	color: #3F3F3F;
	box-sizing: border-box;
	border: 1px solid #EFEFEF;
	background: url(/shared/images/common/icon-btn-arrow.svg) no-repeat top .7rem left .7rem #EFEFEF;
	box-sizing: border-box;
	color: #3F3F3F;
	padding: 2.5rem 1.5rem 2rem 1.5rem;
	height: 100%;
	position: relative;
}

.index_box_area .index_box_cnt:hover {
	border: 1px solid #e9f0f3;
	background-color: #e9f0f3;
}

.index_box_area .index_box_cnt:after {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	height: 2px;
	background-color: #70b7c7;
	top: 0;
	left: 0;
	box-sizing: border-box;
	transition: all ease 0.5s;
}

.index_box_area .index_box_cnt:hover:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
}


.index_box_area .index_box_cnt > span {
	display: block;
	text-align: center;
	box-sizing: border-box;
	z-index: 6;
	position: relative;
}

.index_box_area .index_box_cnt .img {
	margin-bottom: 1rem;
}

.index_box_area .index_box_cnt .img .detail_img > img {
	max-height: 140px;
	width: auto;
}

.index_box_area .index_box_cnt .title {
	font-weight: bold;
	font-size: 1rem;
	margin-bottom: .8rem;
}

.index_box_area .index_box_cnt .summary {
	font-size: .9rem;
	text-align: left;
}

/* SOL用 */

.index_sol .index_box_area .index_box {
	position: relative;
}
.index_sol .index_box_area .index_box::after {
	display: block;
	content: "";
	position: absolute;
	z-index: 6;
	top: 10px;
	left: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: 1px solid #ffffff;
	box-sizing: border-box;
	background-color: transparent;
	pointer-events: none;
}

.index_sol .index_box_area .index_box_cnt {
	position: relative;
	background: none;
	z-index: 5;
	border: 1px solid #cccccc;
	box-sizing: border-box;
}

.index_sol .index_box_area .index_box_cnt:hover {
	color: #ffffff;
	border: 1px solid #ffffff;
}

.index_sol .index_box_area .index_box_cnt::before {
	display: block;
	content: "";
	position: absolute;
	z-index: 4;
	top: -2px;
	left: -2px;
	width: calc(100% + 4px);
	height: calc(100% + 4px);
	border: 1px solid #cccccc;
	box-sizing: border-box;
	background-color: #FFFFFF;
	transition: all ease .4s;
	opacity: 1;
}

.index_sol .index_box_area .index_box_cnt::after {
	display: block;
	content: "";
	position: absolute;
	z-index: 3;
	top: -3px;
	left: -3px;
	width: calc(100% + 6px);
	height: calc(100% + 6px);
	border: 1px solid #FFFFFF;
	box-sizing: border-box;
	background-color: rgba(0, 146, 183, 1);
	background: -moz-linear-gradient(40deg, #33A8C6, #3351A8);
	background: -webkit-gradient(left top, right top, color-stop(#33A8C6), color-stop(#3351A8));
	background: -webkit-linear-gradient(40deg, #33A8C6, #3351A8);
	background: -o-linear-gradient(40deg, #33A8C6, #3351A8);
	background: -ms-linear-gradient(40deg, #33A8C6, #3351A8);
	background: linear-gradient(40deg, #33A8C6, #3351A8);
	background: linear-gradient(40deg, #33A8C6, #3351A8);
	/* transition: background ease 0.3s; */
	opacity: 1;
}
.index_sol .index_box_area .index_box_cnt:hover::before {
	opacity: 0;
}
/*
.index_sol .index_box_area .index_box_cnt:hover:after {
	display: block;
	content: "";
	position: absolute;
	z-index: 6;
	top: 10px;
	left: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: 1px solid #ffffff;
	box-sizing: border-box;
	background-color: transparent;
}
*/


/* ==================================================
loader
================================================== */

.top_loader {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 50;
	width: 0;
	height: 0;
}

@-webkit-keyframes scale {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
	45% {
		-webkit-transform: scale(0.1);
		transform: scale(0.1);
		opacity: 0.7;
	}
	80% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes scale {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
	45% {
		-webkit-transform: scale(0.1);
		transform: scale(0.1);
		opacity: 0.7;
	}
	80% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}

.ball-pulse > div:nth-child(1) {
	-webkit-animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
	animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.ball-pulse > div:nth-child(2) {
	-webkit-animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
	animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.ball-pulse > div:nth-child(3) {
	-webkit-animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
	animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.ball-pulse > div {
	background-color: #fff;
	width: 15px;
	height: 15px;
	border-radius: 100%;
	margin: 2px;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	display: inline-block;
}

.ball-scale-multiple {
	display: none;
}

@-webkit-keyframes ball-scale-multiple {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 0;
	}
	5% {
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0;
	}
}

@keyframes ball-scale-multiple {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 0;
	}
	5% {
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0;
	}
}

.ball-scale-multiple {
	position: relative;
	-webkit-transform: translateY(-30px);
	transform: translateY(-30px);
}

.ball-scale-multiple > div:nth-child(2) {
	-webkit-animation-delay: -0.4s;
	animation-delay: -0.4s;
}

.ball-scale-multiple > div:nth-child(3) {
	-webkit-animation-delay: -0.2s;
	animation-delay: -0.2s;
}

.ball-scale-multiple > div {
	background-color: #4599ed;
	width: 15px;
	height: 15px;
	border-radius: 100%;
	margin: 2px;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	position: absolute;
	left: -30px;
	top: 0px;
	opacity: 0;
	margin: 0;
	width: 60px;
	height: 60px;
	-webkit-animation: ball-scale-multiple 1s 0s linear infinite;
	animation: ball-scale-multiple 1s 0s linear infinite;
}

/* ==================================================
404
================================================== */

.error_404_logo {
	position: relative;
	text-align: center;
	margin-bottom: 3em;
}

.error_404_logo img {
	pointer-events: none;
	max-width: 100%;
}

.error_404_logo:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 3rem;
	left: 0;
	background: url('/shared/images/etc/404_bg_l.svg') left 0 center / auto 100% no-repeat transparent;
	pointer-events: none;
}

.error_404_logo:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 3rem;
	right: 0;
	background: url('/shared/images/etc/404_bg_r.svg') right 0 center / auto 100% no-repeat transparent;
	pointer-events: none;
}

.error_404_memo {
	position: relative;
	text-align: center;
}

.error_404_cnt {
	position: relative;
	text-align: center;
}

/* ==================================================
luminous
================================================== */
img.luminous:hover {
	cursor: pointer;
	opacity: .8;
	transition: all ease .3s;
}
.luminous_img {
	display: inline-block;
	position: relative;
}
.luminous_img::after {
	content: "";
	position: absolute;
	width: 30px;
	height: 30px;
	top: 10px;
	right: 10px;
	background: url(/shared/images/common/icon-zoom.svg) top 4px right 6px / auto 20px no-repeat rgba(255, 255, 255, 0.8);
	pointer-events: none;
	border-radius: 100%;
}
.lum-lightbox-inner img {
	pointer-events: none;
}

/* ==================================================
form
================================================== */

.progress_area {
	margin-bottom: 3em;
	text-align: center;
	pointer-events: none;
}

.progress_area img {
	max-width: 100%;
}

.form-btn-area {
	margin: 3rem 0;
}

.form-btn-area .center {
	text-align: center;
}

.form-btn-area .center .btn {
	font-size: 1rem;
	font-weight: bold;
}

.form-input-area {
	background-color: #F2F2F2;
	padding: 30px 20px;
	box-sizing: border-box;
}

.form-input-cnt {
	max-width: 700px;
	margin: auto;
}

.form-input-cnt input,
.form-input-cnt textarea {
	border: 1px solid #DCDCDC;
	padding: .5em .5em;
	width: 100%;
	box-sizing: border-box;
}

.form-input-cnt select {
	border: 1px solid #DCDCDC;
	padding: .5em .5em;
	box-sizing: border-box;
}

.form-input-cnt input[type=radio],
.form-input-cnt input[type=checkbox] {
	width: auto;
}

.form-input-cnt .form-group {
	padding: 1.5em 0;
}

.form-input-cnt .form-group + .form-group {
	border-top: 1px solid #d8d8d8;
}

.form-input-cnt .form-label {
	margin-bottom: .5em;
	color: #4F4F4F;
	font-weight: bold;
}

.form-input-cnt .form-label span.memo {
	font-weight: normal;
	color: #b91717;
}

.form-input-cnt .form-label span.form-radio-check:before,
.form-input-cnt .form-label label:before {
	content: "任意";
	font-size: .8em;
	padding: .1em .5em;
	margin: 0 1em 0 0;
	color: #ffffff;
	background-color: #7C7C7C;
}

.form-input-cnt .form-label .form-required {
	display: none;
}

.form-input-cnt .form-label .form-required + span.form-radio-check:before,
.form-input-cnt .form-label .form-required + label:before {
	content: "必須";
	color: #ffffff;
	background-color: #B52C2C;
}

/* ==================================================
change img box!!
================================================== */
#cms8341-contentsZero .change_pc,
#cms8341-contentsZero .change_sp {
	display: block !important;
	position: relative;
}
#cms8341-contentsZero img.change_pc:before {
	content: "PC";
	display: block;
	position: absolute;
	right: 1em;
	top: -1em;
	padding: 0 1em;
	background-color: #0d6ab9;
	color: #ffffff;
}
#cms8341-contentsZero img.change_sp:before {
	content: "SP";
	display: block;
	position: absolute;
	right: 1em;
	top: -1em;
	padding: 0 1em;
	background-color: #0b9a94;
	color: #ffffff;
}
img.change_pc {
	display: block;
}
img.change_sp {
	display: none;
}

/* ==================================================
media screen
================================================== */

@media screen and (max-width: 1200px) {
	/* common */
	.container {
		margin: 0 20px;
	}
	.width_full .container {
/*		margin: 0;*/
	}
	/* top */
	.active #tmp_hlogo img {
		/* height: 1.4rem; */
	}
	#tmp_panel ul {
		width: auto;
	}
	#tmp_panel li {
		width: 31%;
		margin: 0 1% 10px 1%;
	}
	#tmp_banner_top li {
		width: 23%;
		margin: 0 1% 10px 1%;
	}
	/* index page */
	.department_panel .panel_title {
		font-size: 1.8rem;
		width: 40%;
	}
	.index_first #tmp_contact_area div.col2 div.col2L {
		width: 64%;
	}
	.index_first #tmp_contact_area div.col2 div.col2R {
		width: 30%;
	}
	/* saiyo */
	.width_full #tmp_contents .interview_index,
	.width_full #tmp_contents .interview_index_cnt {
		width: calc(100% + 40px);
		max-width: none !important;
		margin: 0 0 0 -20px !important;
	}
	.width_full .entry_area {
		width: calc(100% + 40px);
		max-width: none !important;
		margin: 0 0 7em -20px !important;
	}
	.width_full #tmp_contents .interview_catch {
		font-size: 2.4vw !important;
	}
}

@media screen and (max-width: 960px) {
	body {
		font-size: 96% !important;
	}
	.width_full #tmp_wrapper,
	#tmp_wrapper {
		padding-bottom: 0;
	}
	#tmp_wrap_footer {
		position: relative;
		padding: 8rem 0 0 0;
		background-size: auto 8em;
		background-position: top center;
	}

	/* top */
	.index_first #tmp_wrap_main_header {
		padding-top: 4rem;
		margin-bottom: 0rem;
	}
	#tmp_header {
		display: block;
		height: 54px;
		width: 100%;
		box-sizing: border-box;
		border-bottom: solid 4px #2891D1;
	}
	#tmp_hlogo img {
		max-width: 100%;
		height: 30px;
		vertical-align: top;
	}
	.format_top #tmp_hlogo > h1 {
		padding: 0;
	}
	.format_top #tmp_hlogo h1 span {
		height: 50px;
	}
	.format_top #tmp_hlogo img {
		height: 2rem;
	}
	.format_top #tmp_hlogo #tmp_character img,
	.format_free #tmp_hlogo #tmp_character img {
		height: 35px;
		width: 40px;
	}
	.format_top #tmp_means,
	.format_free #tmp_means {
		width: auto;
		color: inherit;
		background-color: inherit;
		float: right;
		text-align: right;
		display: block;
		height: 50px;
		position: relative;
		padding: 0;
	}
	#tmp_means .means_btn a {
		margin: 0 5px;
		padding: .4em .5em;
		white-space: nowrap;
	}
	#tmp_means .means_btn {
		display: none;
	}
	#gnavi_smenu,
	#gnavi_smenu.active {
		display: none;
	}
	#tmp_wrap_gallery_top {
		position: absolute;
		top: 54px;
		left: 0;
		width: 100%;
		height: 500px;
		background: url(/shared/images/gallery_top/tb/top.jpg) center center / auto no-repeat;
		background-size: cover;
	}
	.no_javascript #tmp_wrap_gallery_top {
		position:static;
	}
	#tmp_gallery_top .visual {
		height: 500px;
	}
	.no_javascript.format_top #tmp_gnavi_area {
		position:static;
	}
	#tmp_main_view {
		height: calc(500px + 4rem);
	}
	.no_javascript #tmp_main_view {
    	height: auto;
    }
	#tmp_banner_top li {
		width: 31%;
		margin: 0 1% 10px 1%;
	}

	#tmp_footer_sns {
		position: relative;
		right: auto;
		top: auto;
		margin: 1.5rem 0 0 0;
	}

	/* index first */
	#tmp_contents .index_first_col {
		padding: 0 !important;
	}
	#tmp_contents .index_first_col .icol {
		display: block !important;
		width: 50% !important;
	}
	#tmp_contents .index_first_col .icol:after {
		content: "";
		display: block;
		clear: both;
	}
	.index_first #tmp_contact_area div.col2 div.col2L {
		width: 100%;
	}
	.index_first #tmp_contact_area div.col2 div.col2R {
		width: 100%;
	}


	/* index page */
	#tmp_inquiry_cnt .inquiry_parts,
	#tmp_inquiry_cnt .inquiry_parts .inquiry_parts_main,
	#tmp_inquiry_cnt .inquiry_parts .inquiry_parts_btn {
		display: block;
	}
	#tmp_inquiry_cnt .inquiry_parts .inquiry_parts_btn {
		text-align: center;
		margin: .8em 0 0 0;
	}
	#tmp_inquiry_ttl {
		padding: 1rem .5rem;
	}
	#tmp_inquiry_cnt .inquiry_area {
		padding: .5rem .5rem;
	}

	#tmp_wrap_pankuzu {
		padding-top: 4rem;
	}
	.format_free .wrap_col_lft_navi {
		width: 100%;
		margin: 0;
		border: none;
		border-top: 1px solid #d0d0d0;
	}
	.format_free .column_lnavi .col_main {
		margin: 0;
	}
	.column_lnavi .wrap_col_main {
		float: none;
	}
	.format_free .column_lnavi .col_main {
		padding: 0;
		border: none;
	}
	#tmp_lnavi_cnt li a {
		padding: .6rem 0 .6rem 1.5rem;
	}

	.department_panel .panel_title {
		font-size: 1.5rem;
		width: 30%;
	}

	#tmp_cases,
	#tmp_cases .wrap_case_col {
		display: block;
		margin: 0 0 1rem 0;
	}

	#tmp_cases .wrap_case_col:nth-child(1),
	#tmp_cases .wrap_case_col:nth-child(2) {
		padding: 0;
	}

	#tmp_cases .case_col .case_img {
		width: 30%;
	}
	
	/* lnevi cnt */
	#tmp_wrap_main {
		padding: 30px 0;
	}

	/* edit */
	#tmp_contents h1 {
		font-size: 2.4em !important;
	}
	#tmp_contents table.restable,
	#tmp_contents table.restable tbody,
	#tmp_contents table.restable tr,
	#tmp_contents table.restable th,
	#tmp_contents table.restable td {
		display: block;
		width: 100%;
	}
	#tmp_contents table.restable th {
		padding: 2.5em .9em 1em !important;
	}
	#tmp_contents table.restable td {
		border-top: none !important;
		padding: 1em .9em 2.5em !important;
	}
	#tmp_contents table.restable tr:last-child th {
		border-bottom: none !important;
	}
	#tmp_contents table.restable tr:last-child td {
		border-bottom: 1px solid #469ddf !important;
	}
	.width_full #tmp_contents h1.img-full {
		margin: 0 0 1em 0 !important;
		overflow: hidden !important;
	}
	.width_full #tmp_contents .img-full {
		margin: 3em 0 !important;
		overflow: hidden !important;
	}
	.width_full #tmp_contents .interview_index {
		margin: 3em 0 3em -20px !important;
		overflow: hidden !important;
	}
	.width_full #tmp_contents .img-full img {
		width: calc(100% + 60px) !important;
		left: -30px !important;
		position: relative !important;
		overflow: hidden !important;
	}
	.width_full #tmp_contents .interview_profile {
		position: relative !important;
		left: 0 !important;
		bottom: 0 !important;
		color: #256bb5 !important;
		background-color: #eeeeee !important;
		min-width: auto !important;
	}
	.width_full #tmp_contents .interview_profile_cnt {
		border-left: 3px solid #256bb5 !important;
		padding-left: 1em !important;
	}
	
	/* saiyo */
	.format_saiyo #tmp_contents h1 {
		font-size: 1em !important;
	}
	.width_full .entry_area {
		margin: 0 0 1em -20px !important;
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col {
		width: calc(100% / 3 - 3.4rem) !important;
	}
	.width_full #tmp_contents .interview_catch {
		bottom: calc(50% - 2rem) !important;
		max-width:100%;
	}
	.width_full #tmp_contents .interview_top {
		padding: .8em 1.2em !important;
		min-width: 300px !important;
	}
	.width_full #tmp_contents .interview_top .name {
		font-size: 1.4em !important;
	}
	.width_full #tmp_contents .interview_top .name_sub {
		font-weight: normal !important;
	}
	.width_full #tmp_contents .interview_top > div:before {
		display: none !important;
	}
	.entry_area a.entry_btn {
		padding: .6em 2em !important;
	}
}

@media screen and (max-width: 740px) {
	body {
		font-size: 94% !important;
	}

	/* top */
	#tmp_hlogo {
		max-width: calc(100% - 3rem);
	}
	#tmp_hlogo img {
		width: auto;
	}
	.h_menu_btn span {
		display: none;
	}
	#tmp_wrap_gallery_top {
		background: none;
	}
	.no_javascript #tmp_wrap_gallery_top {
		top: 4rem;
		left: 0;
		width: 100%;
		height: 300px;
		background: url(/shared/images/gallery_top/top.jpg) center center / auto no-repeat;
		background-size: cover;
	}
	#tmp_gallery_top .visual {
		height: 300px;
	}
	#tmp_main_view {
		height: calc(300px + 4rem);
	}
	#tmp_gnavi ul {
		display: block;
		padding: 1em 0;
	}
	#tmp_gnavi li {
		display: block;
		float: left;
		width: 33%;
	}
	#tmp_gnavi ul:after {
		content: "";
		display: block;
		clear: both;
	}
	#tmp_gnavi a {
		padding: .8em 1em;
		vertical-align: middle;
	}
	#tmp_gnavi a:before,
	#tmp_gnavi a:after {
		display: none;
	}
	#tmp_gnavi .gnavi_icon {
		padding-bottom: .2em;
	}
	#tmp_gnavi .gnavi_icon img {
		height: 2em;
		vertical-align: middle;
	}
	.effect_container .container {
		opacity: 1;
	}
	#tmp_package_cnt .package_col {
		display: block;
		float: left;
		width: 50%;
	}
	#tmp_information_cnt span {
		padding: .2em 0;
	}
	#tmp_information_cnt span:nth-child(3) {
		display: block;
	}
	#tmp_panel li {
		width: 48%;
		margin: 0 1% 10px 1%;
	}
	#tmp_banner_top li {
		width: 48%;
		margin: 0 1% 10px 1%;
	}

	/* index first */
	#tmp_contents .index_first_col {
		flex-wrap: wrap;
	}
	#tmp_contents .index_first_col .icol {
		width: 50%;
	}
	#tmp_contents .index_first_col .icol span {
		padding: .5rem 0;
	}

	/* index page */
	#tmp_inquiry,
	#tmp_inquiry_ttl,
	#tmp_inquiry_cnt {
		display: block;
	}
	#tmp_inquiry_ttl,
	#tmp_inquiry_cnt {
		padding: .5rem 1.5rem;
	}
	#tmp_inquiry_cnt {
		text-align: left;
	}
	#tmp_inquiry_ttl p {
		display: inline;
		text-align: center;
	}
	#tmp_inquiry_ttl .sub_ttl {
		display: none;
	}
	#tmp_inquiry_cnt .inquiry_area {
		padding: .5rem 0;
	}

	.department_panel,
	.department_panel > span,
	.department_panel .panel_title,
	.department_panel .panel_sub {
		width: 100%;
		display: block;
	}
	.department_panel .panel_title {
		position: relative;
		font-size: 1.2rem;
		padding: 1rem 2rem;
	}
	.department_panel .panel_sub {
		padding: 1rem 2rem;
	}
	.department_panel .panel_sub:after {
		display: none;
	}
	.department_panel .panel_title:after {
		content: "";
		position: absolute;
		width: 1rem;
		height: 1rem;
		background: url(/shared/images/common/icon-arrow-right.svg) center center / auto 1rem no-repeat transparent;
		top: 0;
		right: 1rem;
		bottom: 0;
		margin: auto;
	}
	#tmp_dp_footer,
	#tmp_dp_footer .dp_menu {
		display: block;
		width: auto;
	}
	#tmp_dp_footer .dp_menu {
		padding: 4rem 0;
	}
	#tmp_dp_footer .menu_txt {
		margin-bottom: 1rem;
	}

	.index_list .index_col {
		width: calc(100% / 2 - 2.2rem);
	}
	
	/* だんぐみ */
	.index_box_area .index_box,
	.index_box_col_2 .index_box_area .index_box,
	.index_box_col_3 .index_box_area .index_box {
		width: 100%;
	}
	.index_box_area {
		padding: 0;
	}
	.index_box_area .index_box {
		margin: 0 0 1rem 0;
	}
	.index_box_area .index_box_cnt {
		display: table;
		width: 100%;
		padding: 1rem 1.5rem;
	}
	.index_box_area .index_box_cnt > span {
	}
	.index_box_area .index_box_cnt .img .detail_img > img {
		max-width: 80px;
		max-height: 80px;
	}
	
	div.col2 div.col2L, div.col2 div.col2R,
	div.col3 div.col3L, div.col3 div.col3M,div.col3 div.col3R {
		display: block;
		width: 100%;
	}
	
	/* lnavi */
	#tmp_pankuzu {
		display: none;
	}
	
	/* saiyo */
	.format_saiyo #tmp_contents h1 {
		font-size: 1em !important;
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col {
		width: calc(100% / 2 - 3.4rem) !important;
	}
	.width_full #tmp_contents .interview_catch {
		bottom: calc(50% - 3em) !important;
		font-size: 1em !important;
		width: 50%;
		min-width: auto !important;
	}
	.width_full #tmp_contents .interview_top {
		padding: .4em .8em !important;
		min-width: 15em !important;
		left: 20px !important;
		bottom: 10px !important;
	}
	.width_full #tmp_contents .interview_top .name {
		font-size: 1.2em !important;
		display: inline-block;
	}
	.width_full #tmp_contents .interview_top .occ{
		display: inline-block !important;
		font-size: .9em !important;
		padding-right: .5em;
	}
	.width_full #tmp_contents .interview_top .name_sub {
		display: none !important;
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col {
		position: relative;
		width: calc(100% - 40px) !important;
		margin: 0 10px 20px 10px !important;
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col a {
		position: relative !important;
		padding: 2.5em 10px 10px 140px;
		min-height: 160px;
		background-color: #FFFFFF !important;
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col a:hover {
		text-decoration: none !important;
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col a > span {
		position: static !important;
		display: block !important;
		padding: 0 !important;
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col a .year {
		background-color: transparent !important;
		color: #333333 !important;
		margin-top: 2.8em;
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col a .detail .occupation {
		position: absolute !important;
		top: 0;
		right: 0;
		display: block !important;
		z-index: 2;
		width: calc(100% - 130px);
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col a .btm {
		background-color: transparent !important;
		color: #333333 !important;
		padding: 0 !important;
		font-size: 1.1em;
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col a .btm .sub {
		padding: 0 !important;
	}
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col a img {
		position: absolute;
		width: 130px !important;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		z-index: 1;
	}
	.entry_area,
	.entry_col {
		display: block;
		width: auto;
		border-top: 10px solid #FFFFFF;
	}
	.entry_area {
		padding: 0;
	}
	.entry_col + .entry_col {
		border-left: none;
	}
	
	/* saiyo career */
	.format_free #tmp_contents .interview_career_index_cnt .cnt .interview_col {
		position: relative;
		width: calc(100% - 40px) !important;
		margin: 0 10px 20px 10px !important;
	}
	.format_free #tmp_contents .interview_career_index_cnt .cnt .interview_col a {
		position: relative !important;
		padding: 2.5em 10px 10px 140px;
		min-height: 160px;
		background-color: #FFFFFF !important;
	}
	.format_free #tmp_contents .interview_career_index_cnt .cnt .interview_col a:hover {
		text-decoration: none !important;
	}
	.format_free #tmp_contents .interview_career_index_cnt .cnt .interview_col a > span {
		position: static !important;
		display: block !important;
		padding: 0 !important;
	}
	.format_free #tmp_contents .interview_career_index_cnt .cnt .interview_col a .year {
		background-color: transparent !important;
		color: #333333 !important;
		margin-top: 2.8em;
	}
	.format_free #tmp_contents .interview_career_index_cnt .cnt .interview_col a .detail .occupation {
		position: absolute !important;
		top: 0;
		right: 0;
		display: block !important;
		z-index: 2;
		width: calc(100% - 130px);
	}
	.format_free #tmp_contents .interview_career_index_cnt .cnt .interview_col a .btm {
		background-color: transparent !important;
		color: #333333 !important;
		padding: 0 !important;
		font-size: 1.1em;
	}
	.format_free #tmp_contents .interview_career_index_cnt .cnt .interview_col a .btm .sub {
		padding: 0 !important;
	}
	.format_free #tmp_contents .interview_career_index_cnt .cnt .interview_col a img {
		position: absolute;
		width: 130px !important;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		z-index: 1;
	}

	/* edit */
	#tmp_contents h1 {
		margin: 0 0 1rem;
	}
	.department_header {
		margin-bottom: 1rem;
	}
	.department_panel_area {
		margin-bottom: 1rem;
	}
	/* change img box */
	img.change_pc {
		display: none;
	}
	img.change_sp {
		display: block;
	}

	/* 404 */
	.error_404_logo {
		padding: 0 10%;
		box-sizing: border-box;
	}


}

@media screen and (max-width: 480px) {

	#tmp_resize_width {
		width: 320px;
	}
	body {
		font-size: 90% !important;
		min-width: 380px;
	}
	.ftop {
		bottom: 20px;
		right: 20px;
	}
	#tmp_hlogo {
		/* float: left; */
		/* width: calc(100% - 5rem); */
		/* display: table; */
	}
	#tmp_hlogo img {
		max-width: 100%;
	}
	#tmp_hlogo #tmp_character img {
		min-width: 40px;
		width: 40px;
		height: 35px;
	}
	.h_menu_btn span {
		display: none;
	}
	/*top*/
	#tmp_gnavi {
		display: none;
	}
	.no_javascript #tmp_gnavi {
		display: block;
	}
	#tmp_wrap_gallery_top {
		position: absolute;
		top: 54px;
		left: 0;
		width: 100%;
		height: 300px;
		background: url(/shared/images/gallery_top/sp/top.jpg) center center / auto no-repeat;
		background-size: cover;
	}
	#tmp_gallery_top .visual {
		height: 300px;
	}
	#tmp_main_view {
		height: calc(300px + 4rem);
	}
	#tmp_panel {
		padding: 4em 0;
	}
	#tmp_panel ul {
		display: block;
	}
	#tmp_panel li {
		display: block;
		margin: auto;
		float: none;
		width: 100%;
		max-width: 300px;
		margin: auto auto 10px;
		min-height: 7rem;
	}
	#tmp_panel li img {
		height: 7rem;
	}
	#tmp_banner_top {
		padding: 4em 0;
	}
	#tmp_banner_top li {
		float: none;
		width: 100%;
		text-align: center;
	}
	#tmp_banner_top li img {
		max-width: 300px;
	}
	#tmp_footer_cnt img {
		max-width: 100%;
	}
	#tmp_fnavi li a {
		padding: .4em .4em;
	}

	/* index */
	.index_first #tmp_main_header {
		padding: 2rem 0;
	}
	.index_first #tmp_main_header h1 {
		font-size: 1.5rem;
		padding: 2rem 2rem;
		min-width: 260px;
		font-weight: bold;
	}
	.index_first #tmp_main_header h1 .h1_img img {
		height: 4rem;
	}
	.index_first #tmp_main_header h1 .h1_sub_title {
		font-size: 0.8rem;
	}

	.package_iryo .index_list .index_col,
	.index_list .index_col {
		display: block;
		width: 100%;
	}
	.index_list .index_col span {
		padding: 0;
	}
	.index_list .index_col .img,
	.index_list .index_col .title {
		width: 100%;
		margin-bottom: .5rem;
	}
	.index_list .index_col .img > img {
		padding: .5rem;
	}

	#tmp_cases .case_col,
	#tmp_cases .case_col .case_img,
	#tmp_cases .case_col .case_detail {
		display: block;
	}
	#tmp_cases .case_col .case_img {
		width: 100%;
		text-align: center;
		padding: 1.5rem 0 0 0;
	}
	#tmp_cases .case_col .case_img span > img {
		max-height: 200px;
		object-fit: contain;
		object-position: center;
	}

	/* edit */
	#tmp_contents h1 {
		font-size: 2em !important;
		line-height: 1.2em !important;
	}
	#tmp_contents h2 {
		font-size: 1.6em !important;
		padding: 1rem .5rem !important;
		line-height: 1.2em !important;
	}
	#tmp_contents table.datatable th,
	#tmp_contents table.enquete_table th {
		padding: .4em !important;
	}
	#tmp_contents table.datatable td,
	#tmp_contents table.enquete_table td {
		padding: .4em !important;
	}
	
	/* saiyo */
	.format_saiyo #tmp_contents h1 {
		font-size: .8em !important;
	}
	.width_full #tmp_contents .interview_top {
		padding: 0.6em 0.8em !important;
		min-width: auto !important;
		left: 20px !important;
		top: 100px !important;
		box-sizing: border-box;
		bottom: auto !important;
		font-size: 1.2em;
	}
	.width_full #tmp_contents .interview_top .name {
		display: block !important;
		font-size: 1em !important;
	}
	.width_full #tmp_contents .interview_top .occ {
		display: block !important;
	}
	.width_full #tmp_contents .interview_catch {
		font-size: .8em !important;
		position: static !important;
		width: 100%;
		box-sizing: border-box;
		line-height: 1 !important;
	}
	.width_full #tmp_contents .interview_catch .main {
		margin-bottom: 0 !important;
	}
	.width_full #tmp_contents .interview_catch .sub {
		/* display: none; */
	}
	.width_full #tmp_contents .img-full {
		margin: 0 0 2em 0 !important;
	}
	.width_full #tmp_contents .interview_index {
		margin: 0 0 2em -20px !important;
	}
	.width_full #tmp_contents .img-full .main_cnt {
		display: block !important;
	}
	.width_full #tmp_contents .img-full .main_cnt a {
		position: relative;
		width: 100%;
		height: 200px;
		overflow: hidden;
	}
	.width_full #tmp_contents .img-full .main_cnt a:before,
	.width_full #tmp_contents .interview_index_cnt .cnt .interview_col:before {
		position: absolute;
		display: block;
		content: "＞";
		width: 1em;
		height: 1em;
		right: 10px;
		bottom: 10px;
		font-size: 1em;
		font-weight: bold;
		font-family: "メイリオ", "meiryo", sans-serif;
		margin: auto;
		z-index: 2;
		color: #a4a4a4;
	}
	.width_full #tmp_contents .interview_top > div:before {
		display: none !important;
	}
	.width_full #tmp_contents .img-full .main_cnt a img {
		position: absolute !important;
		width: 130vw !important;
		top: 0;
		left: auto !important;
		right: 0;
		bottom: 0;
		margin: auto;
	}
	.width_full #tmp_contents .interview_index_cnt {
		padding: 30px 0 !important;
		margin-bottom: 0 !important;
	}
	.width_full #tmp_contents .interview_index_cnt .title {
		font-size: 1.6rem !important;
		margin-bottom: 1em !important;
	}
	.width_full #tmp_contents .interview_index_cnt .title .sub {
		font-size: 1rem !important;
	}

}


@media all and (-ms-high-contrast:none) {
	body {
		font-family: "メイリオ", Meiryo, sans-serif !important;
	}
}
