@charset "utf-8";

@media only screen and (max-width: 767px) {
	html {
		font-size: 2.0833vw;
		-webkit-font-smoothing: antialiased;
	}
}

@media only screen and (max-width: 480px) {
	html {
		font-size: 3.125vw;
		-webkit-font-smoothing: antialiased;
	}
}

@media screen and (max-width: 767px) {
	.spn {
		display: none;
	}

	.pcn {
		display: inline;
	}

	.left {
		float: left;
	}

	.left_img {
		float: left;
		padding-right: 1rem;
		padding-bottom: 1rem;
	}

	.left_img_c {
		text-align: center;
		padding-bottom: 1rem;
	}

	.right {
		float: right;
	}

	.right_img {
		float: right;
		padding-left: 1rem;
		padding-bottom: 1rem;
	}

	.right_img_c {
		text-align: center;
		padding-bottom: 1rem;
	}

	.imgw150 {
		max-width: 150px;
	}

	.w_250 {
		max-width: 250px;
	}

	.w_400 {
		max-width: 400px;
	}

	.w_650 {
		max-width: 650px;
	}

	.w_800 {
		max-width: 800px;
	}

	.sp_txtc {
		text-align: left;
	}

	.spsize {
		width: 150px;
	}

	.flex_res_sp {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}

	.flex_bw_sp {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.flex_l {
		margin: .3rem auto 1rem;
		text-align: center;
	}

	.flex_r {
		margin: .3rem auto 1rem;
		text-align: center;
	}

	.fl {
		font-size: 1.3rem !important;
		line-height: 1.6 !important;
	}

	.fm {
		font-size: 1.2rem !important;
		line-height: 1.6 !important;
	}

	.fm2 {
		font-size: 1.1rem !important;
		line-height: 1.4 !important;
	}

	.fs {
		font-size: 1.0rem !important;
		line-height: 1.3 !important;
		font-weight: normal;
	}

	.disc li {
		font-size: 1.2rem;
	}

	.next {
		margin-top: 6rem !important;
	}

	.txtc {
		font-size: 1.2rem;
		line-height: 1.5;
		margin: .2rem 0 1rem;
		text-align: center !important;
		margin: 0px auto !important;
	}

	.mb05 {
		margin-bottom: 0.2rem !important;
	}

	.mb1 {
		margin-bottom: .5rem !important;
	}

	.mb2 {
		margin-bottom: 1rem !important;
	}

	.mb3 {
		margin-bottom: 1.5rem !important;
	}

	.mb4 {
		margin-bottom: 2rem !important;
	}

	.mb5 {
		margin-bottom: 2.5rem !important;
	}

	.mb6 {
		margin-bottom: 3rem !important;
	}

	.mb10 {
		margin-bottom: 5rem !important;
	}

	.mt1 {
		margin-top: .5rem !important;
	}

	.mt2 {
		margin-top: 1rem !important;
	}

	.mt3 {
		margin-top: 1.5rem !important;
	}

	.mt4 {
		margin-top: 2rem !important;
	}

	.mt5 {
		margin-top: 2.5rem !important;
	}

	.mt6 {
		margin-top: 3rem !important;
	}

	.mt10 {
		margin-top: 5rem !important;
	}

	.pt1 {
		padding-top: .5rem !important;
	}

	.pt2 {
		padding-top: 1rem !important;
	}

	.pt3 {
		padding-top: 1.5rem !important;
	}

	.pt4 {
		padding-top: 2rem !important;
	}

	.pt5 {
		padding-top: 2.5rem !important;
	}

	.pt6 {
		padding-top: 3rem !important;
	}

	.pt10 {
		padding-top: 4rem !important;
	}

	.ml1 {
		margin-left: .5rem !important;
	}

	.ml2 {
		margin-left: 1rem !important;
	}

	.ml3 {
		margin-left: 1.5rem !important;
	}

	.pad_A1 {
		padding: .5rem !important;
	}

	.pad_A2 {
		padding: 1rem !important;
	}

	/* top
---------------------------------------------*/
	#topimage {
		width: 100%;
		height: 100%;
		background-color: #a9a9a9;
	}

	#topimage>.movieblock {
		position: relative;
		width: 100%;
		height: 700px;
		margin: 0px auto;
	}

	.topcopy {
		position: absolute;
		top: 15rem;
		left: 0;
		width: 100%;
		margin: 5rem auto;
		text-align: center;
	}

	.topcopy .in {
		width: 90%;
		margin: 0 auto;
		padding: 2rem;
		text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
	}

	.topcopy_01 {
		padding: 1rem 0 0;
		font-size: 1.9rem;
		line-height: 1.5;
		color: #1a1923;
	}

	.topcopy_02 {
		padding: 1rem 0 0;
		font-size: 1.4rem;
		line-height: 1.5;
		color: #1a1923;
	}

	.topb01 {
		position: absolute;
		width: 95%;
		height: 100%;
		top: 7rem;
		left: 1rem;
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1.5;
		color: #fff;
		text-shadow: 2px 2px 7px #777;
	}

	.topb02 {
		position: absolute;
		width: 95%;
		height: 100%;
		top: 13rem;
		left: 1rem;
		font-size: 1rem;
		color: #fff;
		text-shadow: 2px 2px 7px #777;
	}

	#scroll a {
		position: absolute;
		bottom: 8rem;
		left: 50%;
		transform: translatex(-50%);
		z-index: 2;
		display: inline-block;
		color: #fff;
		letter-spacing: 0.1em;
		text-decoration: none;
		transition: opacity 0.3s;
		font-size: 12px;
	}

	#scroll a span::before {
		position: absolute;
		top: 10px;
		left: 50%;
		content: "";
		width: 6px;
		height: 6px;
		margin-left: -3px;
		background-color: #fff;
		border-radius: 100%;
		animation: sdb10 2s infinite;
		box-sizing: border-box;
	}

	@-webkit-keyframes sdb10 {
		0% {
			-webkit-transform: translate(0, 0);
			opacity: 0;
		}

		40% {
			opacity: 1;
		}

		80% {
			-webkit-transform: translate(0, 20px);
			opacity: 0;
		}

		100% {
			opacity: 0;
		}
	}

	@keyframes sdb10 {
		0% {
			transform: translate(0, 0);
			opacity: 0;
		}

		40% {
			opacity: 1;
		}

		80% {
			transform: translate(0, 20px);
			opacity: 0;
		}

		100% {
			opacity: 0;
		}
	}

	@-webkit-keyframes openinganime {
		0% {
			opacity: 0;
			-webkit-transform: translate(0, 100px);
			transform: translate(0, 100px);
		}

		100% {
			opacity: 1;
			-webkit-transform: translate(0, 0);
			transform: translate(0, 0);
		}
	}

	@keyframes openinganime {
		0% {
			opacity: 0;
			-webkit-transform: translate(0, 100px);
			transform: translate(0, 100px);
		}

		100% {
			opacity: 1;
			-webkit-transform: translate(0, 0);
			transform: translate(0, 0);
		}
	}

	.openinganime {
		-webkit-animation: openinganime 3s forwards;
		animation: openinganime 3s forwards;
	}

	video {
		display: block;
	}

	video#bgvideo {
		position: fixed;
		top: 60px;
		left: 0;
		width: 100%;
		z-index: -200;
	}

	#bgvideo_overlay {
		position: fixed;
		top: 60px;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -90;
		background: url(../img/overlays02.png);
	}

	.copy_c2 {
		font-size: 1.3rem;
		line-height: 1.5;
		text-align: center;
		margin: 2rem 0;
	}

	/* header　navi
---------------------------------------------*/
	#header {
		width: 100%;
		height: 60px;
		background: rgba(255, 255, 255, 0.9);
		position: fixed;
		top: 0px;
		z-index: 200;
	}

	#header_inner {
		position: relative;
		width: 100%;
	}

	#logo {
		position: absolute;
		top: 0;
		left: 0;
		margin: 4.5% 10px 0;
		width: 240px;
	}

	#h_tel {
		position: absolute;
		right: 70px;
		top: 14px;
		width: 40px;
		height: 40px;
	}

	#h_tel span {
		display: none;
	}

	#h_tel a {
		position: absolute;
		width: 40px;
		height: 40px;
		display: block;
		cursor: pointer;
		z-index: 300;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/tel.png) top /25px no-repeat;
	}

	/* SPナビパーツ */
	.hamburger {
		position: absolute;
		right: 15px;
		top: 8px;
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 300;
	}

	.hbg_bor {
		position: absolute;
		left: 11px;
		width: 18px;
		height: 2px;
		background-color: #3372a8;
		transition: all .6s;
	}

	.hbg_bor_top {
		top: 14px;
	}

	.hbg_bor_center {
		top: 20px;
	}

	.hbg_bor_bottom {
		top: 26px;
	}

	.black_bg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: 100;
		background-color: #3372a8;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}

	.nav-open #glnavi {
		right: 0;
	}

	.nav-open .black_bg {
		opacity: .8;
		visibility: visible;
	}

	.nav-open .hbg_bor_top {
		transform: rotate(45deg);
		top: 20px;
	}

	.nav-open .hbg_bor_center {
		width: 0;
		left: 50%;
	}

	.nav-open .hbg_bor_bottom {
		transform: rotate(-45deg);
		top: 20px;
	}

	#glnavi {
		position: fixed;
		right: -320px;
		top: 0;
		width: 300px;
		height: 100vh;
		padding-top: 60px;
		background-color: #fafafa;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
	}

	#glnavi ul li {
		text-align: left;
		padding: 0;
		font-size: 16px;
	}

	#glnavi ul li a {
		display: block;
		padding: 15px;
		border-bottom: 1px solid #bababa;
		text-decoration: none;
		color: #3372a8;
	}

	#glnavi ul li a:hover {
		background-color: #888;
	}

	#glnavi ul li a::before {
		content: "・";
		margin-right: 7px;
	}

	#glnavi ul li a.accordion {
		position: relative;
		background-image: none;
	}

	#glnavi ul li a.accordion::after {
		font-size: 11px;
		display: block;
		height: 20px;
		width: 20px;
		content: "▼";
		text-align: center;
		line-height: 20px;
		position: absolute;
		top: 12px;
		right: 10px;
		color: #000;
	}

	#glnavi ul li a.accordion.active {
		background-color: #eff9ff;
		border-bottom-color: #ccc;
	}

	#glnavi ul li a.accordion.active::after {
		content: "▲";
	}

	#glnavi div.ac_li {
		display: block;
	}

	#glnavi ul li ul li a {
		padding-left: 30px;
		background-color: #eff9ff;
		border-bottom-color: #ccc;
	}

	#glnavi ul li ul li a:hover {
		background-color: #e1f3ff;
	}

	/* toppage
---------------------------------------------*/
	.txtlink::before {
		content: "";
		display: inline-block;
		width: 1.333333em;
		height: 1.333333em;
		margin: -.2em .5em 0 0;
		vertical-align: middle;
		background-image: url(../img/arrow.svg);
		background-size: 1.333333em auto;
	}

	.news {
		width: 100%;
		margin: 1rem auto;
	}

	.news dt {
		font-size: 1rem;
		line-height: 1rem;
		float: none;
		width: auto;
		padding: 0.8rem 0 0.2rem;
		border-bottom: 1px solid #ccc;
		text-align: left;
	}

	.news dd {
		font-size: 1.2rem;
		line-height: 1.7rem;
		padding: 1rem 1rem 0.8rem;
		border-bottom: none;
		text-align: left;
	}

	.news dd a {
		color: #333333;
	}

	.pagenation {
		clear: both;
		text-align: center;
	}

	.pagenation .current {
		background: #fff;
		border: solid 1px #fff;
		padding: 8px 10px;
		margin: 0 2px;
		text-decoration: none;
	}

	a.page-numbers {
		display: inline-block;
		background: #fff;
		border: solid 1px #3372a8;
		padding: 8px 10px;
		margin: 0 2px;
		text-decoration: none;
	}

	.wp_nextpost {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 2rem 0;
	}

	.previous_post,
	.next_post {
		width: 100%;
		border-bottom: solid 1px #E5E5E5;
		padding: 10px;
		font-size: 1.3rem;
	}

	.next_post {
		text-align: right;
	}

	/* page head
---------------------------------------------*/
	.pagehead {
		margin-top: 60px;
		margin-bottom: -3rem;
	}

	.h_title-company {
		background: url(../img/company_sp.jpg) center/cover no-repeat;
	}

	.h_title-business {
		background: url(../img/business_sp.jpg) center/cover no-repeat;
	}

	.h_title-case {
		background: url(../img/case_sp.jpg) center/cover no-repeat;
	}

	.h_title-contact {
		background: url(../img/contact2_sp.jpg) center/cover no-repeat;
	}

	.h_title-free {
		background: url(../img/free_sp.jpg) center/cover no-repeat;
	}

	.h_title-inner {
		position: relative;
		width: 100%;
		margin: auto;
		padding: 60% 0 0;
		font-family: 'Roboto', sans-serif;
		color: #1a1923;
	}

	.h_title-inner h1 {
		position: absolute;
		top: 45%;
		width: 100%;
		text-align: center;
		font-size: 2.2rem;
		font-weight: bold;
		text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
	}

	.h_title-inner div {
		position: absolute;
		top: 57%;
		width: 100%;
		text-align: center;
		font-size: 1.3rem;
		padding: 5px;
		font-weight: bold;
	}

	/* page　base
---------------------------------------------*/
	.pagebody {
		width: 100%;
	}

	.cont_box {
		width: 93%;
		margin: auto;
		text-align: left;
		padding: 5rem 0 2rem;
	}

	.cbm {
		padding: 3rem 0 2rem;
	}

	.cont_box::after {
		display: table;
		clear: both;
		content: "";
	}

	.cont_box p {
		font-size: 1.2rem;
		line-height: 1.5;
		margin: 0.5rem 0 1rem;
		text-align: left;
	}

	.cont_box p.copy {
		font-size: 1.2rem;
		line-height: 1.7;
		margin: 0.5rem 0 1.5rem;
		text-align: left;
	}

	.cont_box p.copy_c {
		font-size: 1.2rem;
		line-height: 1.7;
		margin: 0.5rem 0 1.5rem;
		text-align: center;
	}

	.bar01 {
		color: #3372a8;
		font-size: 2rem;
		margin-bottom: 1rem;
		text-align: center;
	}

	.bar02 {
		color: #3372a8;
		font-size: 2rem;
		font-family: 'Roboto', sans-serif;
		margin: 3rem 0 1rem;
	}

	.bar03 {
		font-size: 2rem;
		margin: 1.5rem 0 1rem;
		font-weight: bold;
	}

	.bar_en {
		padding: 0 0 1rem;
		font-size: 2rem;
		font-weight: bold;
	}

	.bar_line {
		position: relative;
		padding-bottom: .7rem;
		margin: 3rem 0 1rem;
		font-size: 1.3rem;
		font-weight: bold;
		color: #3372a8;
	}

	.bar_line::before,
	.bar_line::after {
		position: absolute;
		bottom: -4px;
		left: 0;
		content: '';
		height: 4px;
	}

	.bar_line::before {
		z-index: 2;
		width: 15%;
		background-color: #3372a8;
	}

	.bar_line::after {
		width: 100%;
		background: -webkit-repeating-linear-gradient(45deg, #fff, #fff 2px, #aaa 2px, #aaa 4px);
		background: repeating-linear-gradient(45deg, #fff, #fff 2px, #aaa 2px, #aaa 4px);
	}

	.bar04 {
		display: inline-block;
		border: 1px #3372a8 solid;
		color: #3372a8;
		padding: 1rem 1.2rem 1rem;
		margin: 0 0 1.5rem;
		font-size: 1.2rem;
		font-weight: bold;
	}

	.bar05 {
		border-bottom: 2px #3372a8 solid;
		color: #3372a8;
		padding: 0 1rem .9rem 0;
		margin: 0 0 2rem;
		font-size: 1.4rem;
		font-weight: bold;
	}

	.title_icon01 {
		padding-top: 55px;
		background: url(../img/sample64.png) no-repeat top center;
		background-size: 50px;
		font-size: 1.1rem;
		text-align: center;
	}

	.title_line {
		padding-top: 20rem;
		background: url(../img/title_line.svg) no-repeat center;
		background-size: 100%;
		font-size: 1.1rem;
		text-align: center;
	}

	/* Contents
---------------------------------------------*/
	.Area_01 {
		width: 100%;
		background-color: #ffffff;
		background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23e3e3fe' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	}

	.Area_02 {
		background: rgb(213, 213, 230);
		background: linear-gradient(0deg, rgba(213, 213, 230, 1) 0%, rgba(243, 243, 248, 1) 100%);
	}

	.contact_area {
		background: url(../img/contact.jpg) center/cover no-repeat;
	}


	.results li {
		margin-bottom: 4% !important;
	}

	.faq dt {
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 1.4;
		margin: 1rem 0 .5rem;
	}

	.faq dt::before {
		content: "\f3b2";
		font-family: ionicons;
		color: #3372a8;
		font-size: 1.5rem;
		padding-right: 1rem;
	}

	.faq dd {
		font-size: 1.1rem;
		line-height: 1.4;
		margin: 0.5rem 0 3rem;
		text-align: justify;
		text-justify: inter-ideograph;
	}

	.price_f {
		font-size: 1.5rem;
		font-weight: bold;
	}

	.price_f span {
		font-size: 2rem;
	}

	.price_f:nth-child(2n+1) {
		padding-top: .5rem;
	}

	.guide_in>li {
		padding: 1.5rem;
		background: #fff;
		box-shadow: rgba(0, 0, 0, .1) 0px 1px 1px 1px;
	}

	.guide_in>li .title {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		width: 100%;
		height: 150px;
		text-align: right;
		margin-bottom: .5rem;
		font-size: 1rem;
	}

	.guide_in>li h3 {
		color: #3372a8;
		font-size: 1.7rem;
		line-height: 1.2;
		text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
	}

	.guide_in>li p {
		font-size: 1rem;
		text-align: left;
		border-top: 1px #DEDEDE solid;
		padding: .5rem 0;
	}

	.illust_hp {
		background: url(../img/illust_hp.svg) no-repeat top left;
		background-size: 150px;
	}

	.arrow_01 {
		padding: .5rem 0 0 1.5rem;
	}

	.arrow_01 li {
		font-size: 1.2rem;
		line-height: 1.5;
		padding: 0 .5rem .5rem 0;
		margin-left: .3rem;
		text-indent: -1.5rem;
	}

	.arrow_01 li::before {
		content: "\f10a";
		font-family: ionicons;
		color: #3372a8;
		padding-right: 1rem;
	}

	.flowlist {
		margin: 0px auto;
		text-align: center;
	}

	.flowlist li>div {
		overflow: hidden;
		font-size: 1.2rem;
		padding: 1.2rem 1.2rem 1.2rem;
		text-align: center;
		border: 2px #3372a8 solid;
		border-radius: 5px;
		line-height: 1.7;
	}

	.flowlist li::after {
		content: "\f35f";
		font-family: ionicons;
		color: #3372a8;
		font-size: 4rem;
	}

	.flowlist li:last-child:after {
		content: none;
	}

	.qanda_page {
		padding: 1rem 3rem 2rem;
		text-align: left;
	}

	.qanda_page dt {
		font-size: 2rem;
		padding: 4rem 0 0;
	}

	.qanda_page dt:before {
		content: "Q.";
		text-indent: 1rem;
	}

	.qanda_page dd {
		font-size: 1.5rem;
		line-height: 1.8;
		padding: 1rem 2.5rem 1rem;
		background-color: #f9f9f9;
	}

	/* frame box parallax
---------------------------------------------*/
	.list_in {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		font-size: 1.5rem;
		line-height: 1.8;
		text-align: left;
	}

	.list_in_text p {
		font-size: 1.2rem;
		padding: 0.5em 0;
	}

	.list_in_text {
		width: 100%;
	}

	.list_image {
		width: 100%;
		padding-top: 1rem;
	}

	.list_image a {
		text-decoration: none;
	}

	.list_btnbox {
		width: 100%;
		margin: 0.5rem auto;
		text-align: center;
	}

	.list_btnbox a {
		color: #fff;
	}

	.borbox01 {
		border: 1px #3372a8 dotted;
		padding: 1.5rem 1.8rem;
		background: #fcfcfc;
		box-shadow: 0px 1px 3px #ababab;
	}

	.borbox02 {
		border: 2px #ccc dotted;
		padding: 1.5rem 1.8rem;
	}

	.nextbox:before {
		display: block;
		font-size: 3rem;
		color: #3372a8;
		content: "▼";
		padding: 1.5rem;
		text-align: center;
	}

	.framebox_01 {
		position: relative;
		margin: 0 0 2.5rem;
		padding: 1rem 1.5rem;
		border: solid 3px #3372a8;
		border-radius: 8px;
	}

	.framebox_01 .box-title {
		position: absolute;
		display: inline-block;
		top: -13px;
		left: 10px;
		padding: 0 9px;
		line-height: 1;
		font-size: 1.3rem;
		background: #FFF;
		color: #3372a8;
		font-weight: bold;
	}

	.framebox_01 p {
		margin: 0;
		padding: 0;
	}

	.joblist {
		width: 100%;
		margin-bottom: 2em;
		padding: 1em;
		border: solid 2px #3372a8;
		border-radius: 15px;
	}

	.joblist h2 {
		width: 100%;
		font-size: 1.3rem;
		line-height: 1.2;
		font-weight: bold;
		margin-bottom: 1rem;
	}

	.joblist h2 a {
		text-decoration: none;
	}

	.joblist_in {
		font-size: 1.2rem;
		line-height: 1.5;
	}

	.joblist_in_text table {
		width: 100%;
		font-size: 1.2rem;
		line-height: 1.7;
	}

	.joblist_in_text table tr {
		border-bottom: none;
	}

	.joblist_in_text table th {
		width: 100%;
		display: block;
		border-bottom: none;
		padding: 7px;
		background: #f3f3f8;
	}

	.joblist_in_text table td {
		width: 100%;
		display: block;
		border-bottom: none;
		padding: 7px 0 2em;
	}

	.joblist_image {
		width: 100%;
		padding-top: 1em;
		text-align: center;
	}

	.joblist_image img {
		border-radius: 10px;
	}

	.joblist_image a {
		text-decoration: none;
	}

	.joblist_btnbox {
		width: 100%;
		margin: .2rem auto;
		text-align: center;
	}

	.joblist_btnbox a {
		color: #fff;
	}

	.joblist_btn {
		display: inline-block;
		font-size: 1.4rem;
		font-weight: bold;
		width: 100%;
		height: 40px;
		line-height: 40px;
		text-align: center;
		text-decoration: none;
		outline: none;
		background-color: #3372a8;
		border-radius: 10px;
	}

	.jobpage_topic {
		width: 100%;
		padding: 1em;
		font-size: 1.2rem;
		line-height: 1.5;
		border: dotted 1px #ccc;
		background: #f3f3f8;
		border-radius: 15px;
	}

	.jobpage_topic h3 {
		margin: 1em 0 .1em;
		color: #3372a8;
		font-weight: bold;
	}

	.jobpage_topic02 {
		width: 100%;
		padding: 1em;
		font-size: 1rem;
		line-height: 1.5;
		border: solid 1px rgb(238, 238, 238);
		background-color: #fdfcf4;
	}

	.aligncenter {
		display: block;
		margin: 0 auto;
	}

	.aligncenter {
		display: block;
		margin: 20px auto;
	}

	.alignright {
		float: none;
		display: block;
		margin: 20px auto;
	}

	.alignleft {
		float: none;
		display: block;
		margin: 20px auto;
	}

	strong {
		font-weight: bold;
		font-size: 1em;
	}

	.jobpage_info table {
		width: 100%;
		font-size: 1.2rem;
		line-height: 1.7;
		margin: 2em 0;
	}

	.jobpage_info table tr {
		border-bottom: none;
	}

	.jobpage_info table th {
		width: 100%;
		display: block;
		padding: 7px;
		text-align: left;
		background: #f3f3f8;
	}

	.jobpage_info table td {
		width: 100%;
		display: block;
		padding: 7px 0 2em;
	}

	.job_form table {
		width: 100%;
		font-size: 1rem;
		line-height: 1.5;
		margin: 2em 0;
	}

	.job_form table th {
		width: 100%;
		display: block;
		border-bottom: none;
		padding: 7px;
		text-align: left;
		background: #f3f3f8;
	}

	.job_form table td {
		width: 100%;
		display: block;
		border-bottom: none;
		padding: 7px 0 2em;
	}

	.job_form table .required {
		display: inline-block;
		padding: 0 5px;
		font-size: .9rem;
		color: #fff;
		background: #f00;
		border-radius: 10px;
		vertical-align: baseline;
	}

	/* recruit site
---------------------------------------------*/
	.pagination {
		text-align: center;
		font-size: 1.4em;
	}

	a.page-numbers,
	.pagination .current {
		background: #fff;
		border: solid 1px #000;
		padding: 5px 8px;
		margin: 0 2px;
		text-decoration: none;
	}

	.pagination .current {
		background: #000;
		border: solid 1px #000;
		color: #fff;
	}

	.notfound {
		padding: 3em 0;
		font-size: 2em;
		text-align: center;
	}

	.top-wordsearch {
		width: 980px;
		text-align: center;
		margin: auto;
	}

	.top-wordsearch_in {
		font-size: 1.8rem;
		background: #e8e8e8;
		padding: 1.5em;
		text-align: center;
		margin-bottom: 1em;
	}

	.form_search01 {
		width: 50%;
		padding: 5px;
		border: 1px solid #aaa;
		background-color: #FFFEF7;
	}

	.Search-btn {
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6), inset 0 1px rgba(255, 255, 255, 0.2), inset 0 10px rgba(255, 255, 255, 0.2), inset 0 10px 20px rgba(255, 255, 255, 0.2), inset 0 -15px 30px rgba(0, 0, 0, 0.6);
		border: 1px solid rgba(0, 0, 0, 0.4);
		background: rgba(0, 0, 0, 0.6);
		color: #fff;
		text-shadow: 0 -1px 1px #aaa, -1px 0 1px #aaa, 1px 0 1px #000;
		padding: 6px 20px 4px;
		border-radius: 5px;
	}

	.Search-btn:hover {
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3), inset 0 1px rgba(255, 255, 255, 0.3), inset 0 10px rgba(255, 255, 255, 0.3), inset 0 10px 20px rgba(255, 255, 255, 0.3), inset 0 -15px 30px rgba(0, 0, 0, 0.3);
	}

	.Search-btn:active {
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3), inset 0 1px rgba(0, 0, 0, 0.3), inset 0 1px rgba(0, 0, 0, 0.8), inset 0 10px 20px rgba(0, 0, 0, 0.8), inset 0 -15px 30px rgba(0, 0, 0, 0.3);
		background: rgba(0, 0, 0, 0.7);
	}

	/* teble layout
---------------------------------------------*/
	.tbw_01 th {
		width: 20%;
	}

	.tbw_02 th {
		width: 30%;
	}

	.table01 {
		width: 100%;
		font-size: 1rem;
		line-height: 1.5;
		margin: 0 0 1rem;
	}

	.table01 th {
		border-bottom: dotted 1px #ccc;
		padding: 10px 15px;
	}

	.table01 td {
		border-bottom: dotted 1px #ccc;
		padding: 10px 15px;
	}

	.table01 tr:nth-child(odd) {
		background: #f3f3f8;
	}

	.table02 {
		width: 100%;
		font-size: 1rem;
		line-height: 1.5;
		margin: 0 0 1rem;
	}

	.table02 th {
		width: 30%;
		padding: 1rem;
		text-align: left;
		vertical-align: top;
	}

	.table02 th::before {
		content: "\f3a7";
		font-family: ionicons;
		display: inline-block;
		width: 1rem;
		height: 1rem;
		margin-right: .5rem;
		color: #3372a8;
	}

	.table02 td {
		width: 80%;
		padding: 1rem;
	}


	.table03 {
		width: 100%;
		font-size: 1rem;
		line-height: 1.5;
		margin: 0 0 1rem;
	}

	.table03 th {
		border-bottom: dotted 1px #ccc;
		padding: 12px;
	}

	.table03 td {
		border-bottom: dotted 1px #ccc;
		padding: 12px;
	}

	.table03 tr:nth-child(odd) {
		background: #fafafa;
	}


	/* Column
---------------------------------------------*/
	.c2box {
		display: flex;
		flex-wrap: wrap;
	}

	.c2box>li {
		flex: 1 0 100%;
		margin-bottom: 1rem;
		margin-right: 0;
		overflow: hidden;
	}

	.c2box>li:nth-child(2n) {
		margin-right: 0;
	}

	.c3box {
		display: flex;
		flex-wrap: wrap;
	}

	.c3box>li {
		flex: 1 0 100%;
		margin-bottom: 1rem;
		margin-right: 0;
		overflow: hidden;
	}

	.c3box>li:nth-child(2n) {
		margin-right: 0;
	}

	.c3box h3 {
		font-size: 1.2rem;
		font-weight: bold;
		color: #3372a8;
		margin-bottom: 2%;
	}

	.c4box>li {
		margin: 2% 1% 5%;
	}

	/* bon in
---------------------------------------------*/
	.c2_in>li {
		background-color: #fff;
		box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
		border: 2px solid #fff;
		transition: 0.2s linear;
		padding: 0.7rem;
		border-radius: 8px;
	}

	.c2_in>li p {
		font-size: 1.1rem;
		text-align: left;
	}

	.c2_in>li img {
		margin: 0.3rem 0;
		border-radius: 8px;
	}

	.c2_in>li h3 {
		line-height: 1.5;
		padding: 0.2rem 0 0.2rem;
		font-size: 1.2rem;
	}

	.c3_in>li {
		background-color: #fff;
		box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
		border: 2px solid #fff;
		transition: 0.2s linear;
		padding: 0.7rem;
		border-radius: 8px;
	}

	.c3_in>li p {
		font-size: 1.1rem;
		text-align: left;
	}

	.c3_in>li img {
		margin: 0.3rem 0;
		border-radius: 8px;
	}

	.c3_in2>li {
		transition: 0.2s linear;
	}

	.c3_in2>li h3 {
		text-align: center;
		line-height: 1.5;
		padding: 0.2rem 0 0.2rem;
		font-size: 1.2rem;
	}

	.c3_in2>li h4 {
		text-align: center;
		margin-top: 0px;
		padding-right: 0px;
		padding-left: 0px;
		color: #044760;
		background-color: #f9f9f9;
		border-bottom-color: #bbb;
		box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;
		border-bottom-style: dotted;
	}

	.c3_in2>li p {
		font-size: 1.2rem;
		text-align: left;
	}

	.c3_in2>li img {
		margin: 0.3rem 0;
		border-radius: 50%;
	}

	.c4_in>li {
		text-align: center;
	}

	.c4_in>li h3 {
		font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
		line-height: 1.5;
		font-size: 1.3rem;
		padding: 0 0 0.5rem;
	}

	.c4_in>li p {
		font-size: 1rem;
		text-align: left;
		padding: 0.5em 0.5em 0;
	}

	.c4_in>li a {
		display: block;
	}

	.c4_in>li a .imgmask {
		width: 170px;
		height: 220px;
		display: block;
		margin: 0 auto;
		border-radius: 50%;
		overflow: hidden;
		position: relative;
		transition: 0.2s linear;
	}

	.c4_in>li a img {
		position: absolute;
		top: 0px;
		left: 0px;
		width: 100%;
		display: block;
	}


	/* pagelink */
	.pagelink {
		text-align: center;
		width: 95%;
		margin: 5rem auto 0;
	}

	.pagelink ul {
		display: flex;
		flex-wrap: wrap;
		padding-top: 1%;
	}

	.pagelink ul li {
		padding: 0 1rem 1rem;
	}

	.pagelink ul li a {
		display: inline-block;
		max-width: 330px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		padding: 1rem 1rem;

		font-size: 1rem;
		color: #3372a8;
		background: #f3f3f3;
		text-decoration: none;
		border: #3372a8 1px solid;
		border-radius: 10px;
	}

	.pagelink ul li a:hover {
		background: #3372a8;
		color: #fff;
	}

	/* ボタン
---------------------------------------------*/
	.btnbox {
		width: 100%;
		margin: 3rem auto;
		text-align: center;
	}

	.btnbox a {
		color: #fff;
	}

	.oubo_btn {
		display: inline-block;
		font-size: 1.2rem;
		font-weight: bold;
		width: 350px;
		height: 54px;
		line-height: 54px;
		text-align: center;
		text-decoration: none;
		outline: none;
	}

	a.btn_link01 {
		display: block;
		position: relative;
		width: 90%;
		margin: 0 auto;
		padding: 1rem 2rem;
		font-size: 1.1rem;
		font-weight: bold;
		line-height: 1.3;
		color: #3372a8;
		background: #fff;
		border: 1px solid #3372a8;
		border-radius: 50vh;
		text-align: center;
		text-decoration: none;
	}

	a.btn_link01::before {
		font-size: 1.1rem;
		line-height: 1;
		position: absolute;
		top: calc(50% - .5rem);
		right: 1rem;
		margin: 0;
		padding: 0;
	}

	a.btn_link01:hover {
		color: #fff !important;
		background-color: #3372a8;
		border-color: #ccc;
		text-decoration: none;
	}

	/* form
---------------------------------------------*/
	.mail_form table {
		width: 100%;
		font-size: 1.2rem;
		line-height: 1.5;
		margin: 1rem 0;
	}

	.mail_form table th {
		width: 100%;
		display: block;
		padding: 1rem;
		text-align: left;
		background: #f3f3f8;
	}

	.mail_form table td {
		width: 100%;
		display: block;
		padding: 1rem;
		border-bottom: dotted 1px #ccc;
		line-height: 2;
	}

	.mail_form table .required {
		display: inline-block;
		padding: 0 5px;
		font-size: 1.2rem;
		color: #fff;
		background: #d6284b;
		border-radius: 10px;
		vertical-align: baseline;
	}

	input:focus,
	input:hover {
		background-color: #fffef0;
	}

	input {
		font-size: 110%;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		border: 1px #ccc solid;
		background-color: #fff;
	}

	input[type="submit"] {
		margin: 0 auto 2rem;
		padding: .3rem 7rem .5rem;
		border-radius: 50vh;
		text-align: center;
		color: #3372a8;
		background-color: #fff;
		border: 1px solid #3372a8;
		font-size: 1.4rem;
		letter-spacing: .5rem;
		-webkit-appearance: none;
		cursor: pointer;
	}

	input[type="submit"]:hover {
		color: #fff;
		background-color: #3372a8;
		border-color: #ccc;
		text-decoration: none;
	}

	.form_w01 {
		width: 45%;
		font-size: 90%;
		padding: 5px;
	}

	.form_w02 {
		width: 20%;
		font-size: 90%;
		padding: 5px;
	}

	.form_w03 {
		width: 95%;
		font-size: 90%;
		padding: 5px;
	}

	::-webkit-input-placeholder {
		color: #ccc;
	}

	::-moz-placeholder {
		color: #ccc;
	}

	:-ms-input-placeholder {
		color: #ccc;
	}

	.mw_wp_form_error .error {
		font-size: 93%;
		color: #B70000;
		display: block;
		font-weight: bold;
	}

	form input:focus:invalid {
		border: tomato 2px solid;
	}

	input:focus,
	input:hover {
		background-color: #FFFFF1;
	}

	textarea {
		width: 95%;
		font-size: 100%;
		padding: 10px;
		border: 1px #ccc solid;
	}

	select {
		width: 100%;
		font-size: 1.2rem;
		padding: .5rem;
		border: 1px #ccc solid;
	}

	/* ラジオボタンlabel */
	.mail_form label {
		border-radius: 5px;
		padding: 0 7px 0 2px;
		margin-bottom: 4px;
		display: inline-block;
		cursor: pointer;
	}

	.mail_form label:hover {
		background-color: #6e7479;
		color: white;
	}

	.formPrivacy {
		margin: 1rem auto 0;
		padding: 2rem;
		overflow: auto;
		height: 300px;
		border: 2px solid #ddd;
	}


	/* footer
---------------------------------------------*/
	.footer {
		color: #fff;
		text-align: center;
		background: #3372a8;
	}

	.footer_in {
		width: 95%;
		margin: 0 auto;
		padding: 2rem 1rem 1rem;
	}

	.footer_in>.f_link {
		width: 100%;
		line-height: 1.5;
		text-align: center;
		color: #fff;
		border-bottom: 1px #ccc solid;
	}

	.footer_in>.f_link ul {
		display: flex;
		flex-wrap: wrap;
	}

	.footer_in>.f_link ul li a {
		color: #fff;
		text-decoration: none;
		display: block;
		padding: 0 .5rem 1rem;
		font-size: 1.2rem;
	}

	.footer_in>.f_link ul li a:hover {
		color: #e1ebe2;
		text-decoration: underline;
	}

	.footer_in>.f_link ul li a::before {
		content: "";
		display: inline-block;
		width: .9em;
		height: .9em;
		margin: 0 .5em .2em 0;
		vertical-align: middle;
		background-image: url(../img/arrow02.svg);
		background-size: .9em auto;
	}

	.footer_in>.f_info {
		width: 100%;
		font-size: 1.1rem;
		color: #fff;
		line-height: 1.5;
	}

	.footer_in>.f_info img {
		max-width: 276px;
		margin: 2rem;
	}

	.copyright {
		clear: both;
		width: 100%;
		font-size: 1rem;
		padding: 1rem 0;
	}
}