@charset "utf-8";
html * {
	visibility: hidden;
}
html.wf-active *{
	visibility: visible;
}
:root {
	--animate-duration: 0.65s;
}
body {
	font-family: 'Helvetica Neue','Helvetica','Arial',YuGothic,'Yu Gothic','Hiragino Sans','Hiragino Kaku Gothic', 'ヒラギノ角ゴ','メイリオ', Meiryo,Roboto,'Droid Sans',sans-serif;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	background-color: #fff;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
article, aside, blockquote, body, cite, dd, dialog, div, dl, dt, em, figure, footer, form, h1, h2, h3, h4, h5, h6, html, img, label, li, nav, ol, p, pre, section, small, span, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, ul {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-style: normal;
	background: transparent;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	line-break: strict;
	color: #333;
	page-break-inside: avoid;
}
table{
	border-collapse:collapse
}
th {
	font-weight: normal;
}
a {
	display: block;
	color: #333;
	text-decoration: none;
	line-height: 1;
}
img{
	width: 100%;
}
li {
	list-style-type: none;
}
.alignC { text-align: center !important; }
.alignR { text-align: right !important; }
.alignL { text-align: left !important; }
.fl{
	float: left;
}
.fr{
	float: right;
}
.clearfix::after { 
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.green{ color: #00c186; }

.phone_frame{
    max-width: 750px;
    margin: 0 auto;
}

/*パララックス用*/
.ease_customize{
    -webkit-animation-timing-function: cubic-bezier(.99,0,.79,-0.09);
    -moz-animation-timing-function: cubic-bezier(.99,0,.79,-0.09);
    -o-animation-timing-function: cubic-bezier(.99,0,.79,-0.09);
    animation-timing-function: cubic-bezier(.99,0,.79,-0.09);
}

/*フォントサイズコントローラー*/
@media only screen and (max-width: 750px) {
html{
	font-size: 2.133vw;
}
}
@media only screen and (min-width: 751px) {
html{
	font-size: 16px;
}
}

.background_transparent{
    background: transparent !important;
}

.background_gray{
    background-color: rgba(102, 102, 102, 0.9) !important;
}

.background_white{
    background-color: #fff !important;
}

.transparent{
    opacity: 0;
    pointer-events: none;
}

/*TOP*/
#humberger {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    cursor: pointer;
}
#humberger div {
    position: absolute;
    left: 20%;
    height: .375rem;
    width: 60%;
    background-color: #666;
    border-radius: .5rem;
    display: inline-block;
    box-sizing: border-box;
}
#humberger div:nth-of-type(1) {
    top: 29%;
}
#humberger div:nth-of-type(2) {
    top: 48%;
}
#humberger div:nth-of-type(3) {
    bottom: 29%;
}
.top_bar{
    padding: 1.5625rem 1.5rem 1.5rem 3rem;
    position: fixed;
    width: 46.875rem;
    background-color: #fff;
    z-index: 100;
    transition:all 0.5s;
}
.top_bar .logo{
    margin-top: 1.4375rem;
    width: 12.5rem;
    float: left;
    transition:all 0.5s;
}
.top_bar #humberger{
    width: 7.5rem;
    height: 7.5rem;
    float: right;
    border-radius: 5rem;
    transition:all 0.5s;
}

/*ハンバーガーメニューの中身*/
/*バツボタン*/
#close_btn {
	display: inline-block;
	width: 2.875rem;
	height: 2.875rem;
	position: relative;
	cursor: pointer;
}
#close_btn span::before,
#close_btn span::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 130%;
	height: 4%;
	margin: 0 0 0 -65%;
	background: #1a1a1a;
}
#close_btn span::before {
	transform: rotate(-45deg);
}
#close_btn span::after {
	transform: rotate(45deg);
}
.ham_menu_back{
    overflow: scroll;
    background-color: rgba(255, 255, 255, 0.97);
    width: 100%;
    height: 100vh;
    position: fixed;
    z-index: 102;
}
#ham_menu{
    width: 46.875rem;
    margin: 0 auto;
}
#ham_menu .ham_title{
    margin: 7.5rem 2.1875rem 0 4.6875rem;
    position: relative;
    padding-bottom: 2.5rem;
    border-bottom: .0625rem solid #1a1a1a;
}
#ham_menu .ham_title .logo{
    width: 12.1875rem;
    margin: 0 auto;
}
#ham_menu .ham_title #close_btn{
    position: absolute;
    top: -2.25rem;
    right: 1rem;
}
#ham_menu ul.item_list{
    padding: 2rem 4.625rem 0 8rem;
}
#ham_menu ul.item_list li a{
    padding: 1.375rem 0;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
}
#ham_menu ul.item_list li a p:nth-of-type(1){
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 2.875rem;
    letter-spacing: .2rem;
    line-height: 1;
    color: #1a1a1a;
}
#ham_menu ul.item_list li a p:nth-of-type(1).small{
    font-size: 2.5rem;
    letter-spacing: .1rem;
}
#ham_menu ul.item_list li a p:nth-of-type(2){
    margin-left: auto;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: 1.5rem;
    letter-spacing: .5rem;
    line-height: 1.5;
    color: #00c186;
    text-align: end;
}

/*アローボタン*/
.arrow{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    text-decoration: none;
}
.arrow::before,
.arrow::after{
    position: absolute;
    top: .1rem;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.arrow_button::before{
    left: 19.375rem;
    width: 2.75rem;
    height: .188rem;
    background: #fff;
}
.arrow_button::after{
    left: 20.96rem;
    width: 1rem;
    height: 1rem;
    border-top: .2rem solid #fff;
    border-right: .2rem solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.arrow_button2::before{
    left: 24.75rem;
    width: 1.625rem;
    height: .188rem;
    background: #fff;
}
.arrow_button2::after{
    left: 25rem;
    width: 1rem;
    height: 1rem;
    border-top: .2rem solid #fff;
    border-right: .2rem solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*ファーストビュー*/
.first_view{
    padding: 15rem 0 0 4.6875rem;
}
.first_view h1.title01{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 4.375rem;
    letter-spacing: .1rem;
    line-height: 1.75;
    color: #000;
}
.first_view h1.title01 span{
    font-size: 3rem;
    color: #000;
}
.first_view h1.title02{
    margin-top: 1.5rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    letter-spacing: .12rem;
    line-height: 1.25;
    width: 37.5rem;
    color: #666;
}

/*紹介部分*/
.introduction_block{
    margin-top: 8.125rem;
}
.introduction_block.first_block{
    margin-top: 16.125rem;
}
.introduction_block h2:nth-of-type(1){
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 3.75rem;
    letter-spacing: .5rem;
    line-height: 1;
    color: #333;
    text-align: center;
}
.introduction_block h2:nth-of-type(2){
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    letter-spacing: .5rem;
    line-height: 1;
    color: #00c186;
    text-align: center;
    margin-top: 2rem;
}
.introduction_block.small h2:nth-of-type(1){
    font-size: 3.5rem;
    letter-spacing: .25rem;
}
.introduction_block>p{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    letter-spacing: .1rem;
    line-height: 1.75;
    width: 39.0625rem;
    margin: 2.25rem auto 0;
}
.introduction_block .more_button a .arrow_button{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 2.5rem;
    letter-spacing: .1rem;
    line-height: 1;
    color: #fff;
    background-color: #4d4d4d;
    padding: .75rem 0 1rem;
    border-radius: 3rem;
    width: 26.875rem;
    text-align: center;
}
.introduction_block .more_button a{
    display: inline-block;
}
.introduction_block .more_button{
    text-align: center;
    margin-top: 2.8125rem;
}
.image_block{
    width: 45.625rem;
    margin: 6.625rem auto 0;
}
.image_block2{
    width: 45.625rem;
    margin: 4.25rem auto 0;
}

/*インフォメーション*/
.information_block{
    width: 40rem;
    margin: 8rem auto 0;
    padding: 2.5rem 1.4375rem 3.25rem 2.1875rem;
    border: .0625rem solid#707070;
}
.information_block h2{
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 3.75rem;
    letter-spacing: .5rem;
    color: #333;
}
.information_block .item_list li{
    padding: 4.125rem 0 2.125rem;
    border-bottom: .0624rem solid#707070;
}
.information_block .item_list li p:nth-of-type(1){
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.5rem;
    color: #00c186;
}
.information_block .item_list li p:nth-of-type(2){
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.17;
    color: #333;
    width: 27.5rem;
    margin: 1.75rem auto 0;
}
/*アローボタン*/
.arrow_2{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    text-decoration: none;
}
.arrow_2::before,
.arrow_2::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.arrow_button_2::before{
    left: 8.25rem;
    width: 1.75rem;
    height: .15rem;
    background: #333;
}
.arrow_button_2::after{
    left: 9.2rem;
    width: .65rem;
    height: .65rem;
    border-top: .15rem solid #333;
    border-right: .15rem solid #333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: -.075rem;
}
.information_block .more_button_2 a.arrow_button_2{
    margin: 3.75rem 0 2.125rem 23.125rem;
    padding-right: 3rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: .1rem;
    line-height: 1;
    color: #333;
}

/*Map*/
#map{
    width: 40rem;
    height: 26.25rem;
    margin: 2.625rem auto 0;
    border: .0625rem solid#707070;
}
.gmnoprint > .gm-style-mtc:first-child > div:first-child {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 400 !important;
    width: 23rem;
    font-size: 1.5rem !important;
    text-align: center !important;
    padding: .5rem 1rem !important;
}
.gmnoprint > .gm-style-mtc:last-child > div:first-child {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 400 !important;
    min-width: initial !important;
    font-size: 1.5rem !important;
    text-align: center !important;
    padding: .5rem 1rem !important;
}
.gmnoprint .gm-svpc{
    display: none !important;
}

/*会社案内*/
.company_info{
    width: 40rem;
    margin: 1.5rem auto 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 1.714;
    color: #333;
}

/*copyright*/
.footer{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 200;
    font-size: 1.375rem;
    letter-spacing: .1rem;
    text-align: center;
    line-height: 1;
    color: #fff;
    margin-top: 6rem;
    padding: 2.9375rem 0 8.4375rem;
    background-color: #524d4b;
}

/*下層ページの見出し*/
.heading{
    padding-top: 14.5rem;
    width: 32.1875rem;
    margin: 0 auto;
}
.heading h1:nth-of-type(1){
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    letter-spacing: .5rem;
    line-height: 1;
    color: #00c186;
}
.heading h1:nth-of-type(2){
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 3.75rem;
    letter-spacing: .75rem;
    line-height: 1;
    color: #333;
    margin-top: 1.25rem;
    text-align: center;
}
.heading h2{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: .2rem;
    line-height: 1.75;
    color: #333;
    margin-top: 1.75rem;
}
.heading02{
    padding-top: 14.5rem;
    width: 39.625rem;
    margin: 0 auto;
}
.heading02 h1:nth-of-type(1){
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    letter-spacing: .5rem;
    line-height: 1;
    color: #00c186;
}
.heading02 h1:nth-of-type(2){
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 3.5rem;
    letter-spacing: .25rem;
    line-height: 1;
    color: #333;
    margin-top: 1.25rem;
    text-align: left;
}
.heading02 h2{
    width: 32.5625rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: .15rem;
    line-height: 1.75;
    color: #333;
    margin: 1.75rem auto 0;
}
.sub_image_block{
    width: 37.5rem;
    margin: 4.5rem auto 0;
}
.sub_image_block2{
    width: 37.5rem;
    margin: 0 auto 0;
}
.sub_image_block3{
    width: 37.5rem;
    margin: 3.625rem auto 0;
}
.sub_image_block.first{
    margin-top: 8.125rem;
}
.sub_image_block.last{
    margin-bottom: 6.875rem;
}
.sub_image_block h3{
    color: #1a1a1a;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 4.25rem;
    font-weight: 300;
}
.sub_image_block h3>span{
    font-size: 2.25rem;
    margin-left: 1.125rem;
    font-weight: 500;
}
.sub_image_block h3.hokennojikan_logo{
    background: url(../image/hokennojikan_logo.png) no-repeat;
    background-size: 5.5rem;
    background-position: 18.75rem .7rem;
}
.sub_image_block h3.ec_logo{
    background: url(../image/comingshop_logo.png) no-repeat;
    background-size: 9rem;
    background-position: 14.75rem 1.3rem;
}
.sub_image_block a{
    margin-top: 1.875rem;
}
.sub_image_block p{
    color: #333;
    margin-top: 1.25rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.5rem;
    letter-spacing: .1rem;
    line-height: 1.75;
    font-weight: 400;
}
.sub_image_block a.link{
    color: #29abe2;
    display: inline-block;
    margin-top: .375rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.5rem;
    line-height: 1.75;
    font-weight: 400;
    text-decoration: underline;
    padding-right: 2.625rem;
    background: url('../image/blankpage_icon.png') no-repeat;
    background-size: 2rem;
    background-position: right .7rem;
}

/*下層ページのサブタイトル*/
.sub_block{
    margin-top: 3.75rem;
}
.sub_block.table{
    padding-bottom: 4.625rem;
}
.sub_block h2{
    width: 37.5rem;
    margin: 0 auto;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    letter-spacing: .5rem;
    line-height: 1.714;
    color: #00c186;
    text-align: center;
    padding: 1.5rem 0 1.5rem;
    border-bottom: .0625rem solid#707070;
}
.sub_block h2>span{
    font-size: 1.375rem;
    letter-spacing: .05rem;
    font-weight: 400;
    line-height: 4rem;
}
.sub_block table{
    border-collapse: collapse;
    width: 36.25rem;
    margin: 1.875rem auto 0;
}
.sub_block table tbody tr th{
    width: 34.483%;
}
.sub_block table tbody tr td, .sub_block table tbody tr th{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 1.5;
    color: #3e3a39;
    text-align: left;
    vertical-align: top;
    padding: 1.5rem 0;
    border-bottom: .0625rem dotted#999;
}
.sub_block p.pattern01{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.75rem;
    line-height: 1;
    color: #3e3a39;
    text-align: center;
    padding: 1.875rem 0;
}
.sub_block p.pattern02{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 1.75rem;
    line-height: 1.714;
    color: #3e3a39;
    text-align: center;
    padding: 1.875rem 0;
}
.sub_block p.pattern02.credit{
    padding-bottom: .75rem;
}
.sub_block p.pattern03{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.714;
    color: #3e3a39;
    text-align: center;
    padding-bottom: 1.5rem;
}
.sub_block p.pattern04{
    width: 31.875rem;
    margin: 3.625rem auto 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2;
    color: #3e3a39;
    text-align: left;
    padding-bottom: 2.25rem;
}
.sub_block p.pattern05{
    width: 31.875rem;
    margin: 2.25rem auto 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2;
    color: #3e3a39;
    text-align: left;
    padding-bottom: 2.25rem;
}
.sub_block p.pattern06{
    margin-top: 3rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 3rem;
    letter-spacing: .75rem;
    line-height: 1;
    color: #333;
    text-align: center;
}
.sub_block p.pattern07{
    margin-top: 2.25rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2.5;
    color: #333;
    text-align: center;
}
.sub_block p.pattern08{
    margin-top: 1.125rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    letter-spacing: .3rem;
    line-height: 2;
    color: #333;
    text-align: center;
    padding-bottom: 1rem;
}
.sub_block p.pattern09{
    margin-top: 3.375rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    letter-spacing: .3rem;
    line-height: 2;
    color: #333;
    text-align: center;
    padding-bottom: 1rem;
}
.sub_block p.pattern10.image{
    margin: .75rem auto 0;
    width: 31.875rem;
    font-size: 0;
}
.sub_block p.pattern10.title{
    margin-top: 2rem;
    font-size: 1.5rem;
    line-height: 1.75;
    font-family: 'Noto Sans JP', sans-serif;
}
.sub_block p.pattern10.article{
    margin: .375rem auto 0;
    width: 31.875rem;
    font-size: 1.5rem;
    line-height: 1.75;
    font-family: 'Noto Sans JP', sans-serif;
}
.sub_block p.pattern11{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.714;
    color: #3e3a39;
    text-align: center;
    padding-bottom: 1.5rem;
}
.sub_block p.link{
    margin: 2.25rem auto 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2.5;
    text-align: center;
    display: inline-block;
}
.sub_block p.recruit_link{
    margin: 2.25rem auto 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.5;
    text-align: center;
    display: block;
}
.sub_block p.link a, .sub_block p.recruit_link a{
    display: inline-block;
    color: #2598d8;
    text-decoration: underline;
}
.sub_block p.pattern01.first{
    margin-top: 1.5625rem;
}
#map.company_map{
    width: 37.5rem;
    height: 26.25rem;
    margin: 4.375rem auto 0;
    border: .0625rem solid#707070;
}
.company_info_2{
    width: 37.5rem;
    margin: 3rem auto 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 1.714;
    color: #333;
}

.recruit_button a .arrow_button2{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 1.875rem;
    letter-spacing: .1rem;
    line-height: 1;
    color: #fff;
    background-color: #2598d8;
    padding: 1.625rem 0 1.375rem 2.625rem;
    border-radius: 3rem;
    width: 28.125rem;
    text-align: left;
}
.recruit_button a{
    display: inline-block;
}
.recruit_button{
    text-align: center;
    margin-top: 2.8125rem;
}
.recruit_button.last{
    margin-top: 4.75rem;
}