/*
Theme Name: Helth Tech Ginza 02
*/

/* ===============================================
Base
=============================================== */


/*adobe font*/

/* 最適化作業中 */

.Josefin_Sans_Regular{
	font-family: josefin-sans, sans-serif;
    font-weight: 400;
    font-style: normal;
}
.Josefin_Sans_SemiBold{
	font-family: josefin-sans, sans-serif;
	font-weight: 600;
	font-style: normal;
}
.mincho_R{
	font-family: source-han-serif-japanese, serif;
    font-weight: 400;
    font-style: normal;
}
.mincho_SB{
	font-family: source-han-serif-japanese, serif;
    font-weight: 600;
    font-style: normal;
}
.Gothic_R{
	font-family: source-han-sans-japanese,sans-serif;
    font-weight: 400;
    font-style: normal;
}
.Gothic_B{
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: 700;
	font-style: normal;
}

/*Josefin Sans Regular*/
.map_text_area_h{
    font-family: josefin-sans, sans-serif;
    font-weight: 400;
    font-style: normal;
}

/*Josefin Sans SemiBold*/
.recruit-mission h2,
.recruit-value h2,
.recruit-mission h2,
.recruit-value h2,
.overview_section_h_block_number{
	font-family: josefin-sans, sans-serif;
	font-weight: 600;
	font-style: normal;
}

/*明朝R*/
.index_h,
.select_box_sub_text,
.select_box_h,
.index_sub_title,
.corce_area_div_box_p,
.corce_area_div02_box_p,
.map_text_area_p,
.concept_box_text_h,
.singleBoxTitle h1,
.question01,
.question02,
.question02_p,
.measures-contents h2,
.measures-contents h2,
.measures-pre p,
.operation-button,
.recruit-occupations,
.thanks-banner,
.operation-sentence p,
.sub_page_table,
.reviews_catch,
.reviews_text,
.occupations-title,
.occupations-works,
.occupations-recruit,
.occupations-apply,
.overview_h,
.overview_section_h_block_text p,
.overview_section_detail_h,
.overview_block01_text01,
.overview_safety_h,
.nmn_block01_text01,
.nmn_block01_text02,
.nmn_block02,
.index_shop_time_h,
.index_shop_time,
.concept_box_02_p{
    font-family: source-han-serif-japanese, serif;
    font-weight: 400;
    font-style: normal;
}
/*明朝SB*/
.corce_area_text,
.overview_catch,
.overview_section_h_block_text_h,
.overview_section_detail_catch,
.overview_block02_h
.concept_box_02_text h3{
    font-family: source-han-serif-japanese, serif;
    font-weight: 600;
    font-style: normal;
}
/*ゴシックR*/
.select_box_main_text,
.block_area_div_text,
.concept_box_text_p,
.counseling_link_box_a,
.footer-menu li a,
.measures-open p,
.measures-box1 p,
.measures-contents p,
.measures-topatient h3,
.campaign_text,
.operation-contents,
.recruit-value,
.wpcf7 input.wpcf7-submit,
.contact_block,
.header-menu .menu a,
.counseling_text,
.map_text_area_t th,
.map_text_area_t td,
.map_box_text_02 table td,
.map_box_text_02 table th,
.thanks-campaign,
.shop_time_h,
.reviews_name,
.recruit-mission p,
.value-box_h,
.value-box_p,
.course_explanation_text,
.course_explanation02,
.mechanism,
.overview_section_detail_text,
.overview_block01_text02,
.overview_block01_text03,
.overview_safety_box_text_p,
.overview_safety_box_text_group_grain p,
.overview_block02_list_p,
.course_intermediate_01_text_p2,
.nmn_block01_text03{
    font-family: source-han-sans-japanese,sans-serif;
    font-weight: 400;
    font-style: normal;
}
/*ゴシックB*/
.recruit-mission p,
.mechanism_block_text p,
.course_intermediate_01_text_p1,
.course_intermediate_02_text_p1,
.course_intermediate_02_text_p2_s{
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: 700;
	font-style: normal;
}
/* LP */
.fix_area_text_div,
#fix_area,
#span03,
#span05,
#span06{
	font-family: futura-pt, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.fix_area_text_div,
#span01,
#span02,
#span04{
	font-family: futura-pt, sans-serif;
	font-weight: 600;
	font-style: normal;
}

/*adobe font*/

/* font-family: futura-pt, sans-serif;
font-weight: 400;
font-style: normal;


font-family: futura-pt, sans-serif;
font-weight: 700;
font-style: normal;

/*adobe font*/

/*
	Reset
----------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*
	Default Style
----------------------------------------------- */
body {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    overflow-x: hidden;
	font-weight: 300;
	color: #707070;
	line-height: 1.5;
	box-sizing: border-box;
}

img {
	vertical-align: bottom;
}

a{
	text-decoration: none;
	color: #7E7E7E;
}

.container{
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.button{
	width: 180px;
	height: 50px;
	margin: 0 .5em;
	text-align:center;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.button a{
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* ===============================================
PC
=============================================== */

	.ShowPc{
		display: block;
	}

	.ShowSp{
		display: none;
	}

/*
	Header
----------------------------------------------- */

header{
	width: 100%;
	height: 170px;
	position: fixed;
	top: 0;
	background-color: #fff;
	z-index: 5;
}
#header{
	margin: 0 auto;
	color: #7E7E7E;
	padding: 1.5em 0 1em 0;
	margin-bottom: 20px;
}
.head-main{
	display: flex;
	justify-content: space-between;
}
.logo img{
	width: 300px;
}
.header-buttons{
	display: flex;
	align-items: center;
}
.button-contact{
	background-color: #D75F94;
	font-size: .9em;
}
.button-tel{
	background-color: #6BAEDA;
}
.button-tel .text{
	padding-top: 7px;
}
.button-tel small{
	font-size: .5em;
	vertical-align: top;
}
.header-menu .menu {
	display: flex;
	margin: 20px auto;
	width: 80%;
    max-width: 1200px;
}
.header-menu .menu li{
	flex: 1;
	text-align: center;
	font-size: .9em;
	letter-spacing: 1px;
	position: relative;
}
.header-menu .menu li a{
	display: block;
	padding: 10px 5px;
	box-sizing: border-box;
	transition: .5s;
	width: 100%;
}
.sub-menu li{
	font-size: .5em;
}
.sub-menu li a{
	background: #f5f5f5;

}
.header-menu .menu li:hover > .sub-menu li a:hover{
	background: #b9b9b9;
	color: #3C2D12;
}
/*
	Main
----------------------------------------------- */

#main{
	margin-top: 170px;
}


/*
	Footer
----------------------------------------------- */

footer{
	background-color: #3C2D12;
	color: #fff;
	padding: 3em 0 2em 0;
}

.footer-flex{
	width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}

.footer-menu{
	width: 550px;
}

.footer-menu .menu{
	column-count: 3;
}

.footer-menu li a{
	display: inline-block;
	color: #FAFCFD;
	font-size: .9em;
	letter-spacing: .8px;
	margin: 10px 0;
}

footer p{
	text-align: center;
}

.footer-logo {
	display: flex;
	margin-bottom: 30px;
	align-items: center;
}

.SNSLogoSp {
	width: 30%;
	margin-left: 7px;
}

.SNSLogoSp img {
	margin-left: 11px;
	width: 35px;
}

.opentime{
	position: relative;
	max-width: 1000px;
	font-size: .8em;
	margin: 0 auto 20px;
}

.SNSLogoPc {
	position: absolute;
	top: -50%;
	left: 0;
}

.SNSLogoPc img {
	margin-left: 24px;
	width: 35px;
}

footer small{
	font-size: 1em;
}

/*PC*/
@media screen and (min-width: 768px){
	.head-main{
		width: 1000px;
    	margin: 0 auto;
	}
	.header-menu #hfm > li:last-child > a{
		border-right: 1px solid gray;
	}
	.header-menu #hfm > li > a{
		border-left: 1px solid #7E7E7E;
	}
	.sub-menu{
		display: none;
		width: 110%;
		position: relative;
		left: -5%;
	}
	/*
	.sub-menu{
		opacity: 0;
		-webkit-transition: all .5s ease;
		transition: all .5s ease;
		visibility: collapse;
	}
	.header-menu .menu > .parent_li:hover > .sub-menu{
		visibility: visible;
		opacity: 1;
	}
	*/
}

/*SMP*/
@media screen and (max-width: 768px) {

	.ShowPc{
		display: none;
	}
	.ShowSp{
		display: block;
	}
	/*
		Header
	----------------------------------------------- */
	header{
		height: 70px;
	}

	#header{
		width: 90vw;
		margin-left: 5vw;
		padding: 1em 0;
	}

	header .logo img{
		width: 200px;
	}

	.button{
		width: 180px;
		margin: 0;
		z-index: 100;
	}

	.button-contact{
		position: fixed;
		bottom: 0;
		left: 2px;
	}

	.button-tel{
		position: fixed;
		bottom: 0;
		right: 2px;
	}

	/*
		Hamburger
	----------------------------------------------- */

	/*　ハンバーガーボタン　*/
	.hamburger {
		display : block;
		position: fixed;
		z-index : 3;
		right : 13px;
		top   : 14px;
		width : 42px;
		height: 42px;
		cursor: pointer;
		text-align: center;
	}

	.hamburger span {
		display : block;
		position: absolute;
		width   : 30px;
		height  : 2px ;
		left    : 6px;
		background : #BDC3C8;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition   : 0.3s ease-in-out;
		transition        : 0.3s ease-in-out;
	}

	.hamburger span:nth-child(1) {
		top: 10px;
	}

	.hamburger span:nth-child(2) {
		top: 20px;
	}

	.hamburger span:nth-child(3) {
		top: 30px;
	}

	/* ナビ開いてる時のボタン */
	.hamburger.active span:nth-child(1) {
		top : 16px;
		left: 6px;
		background :#BDC3C8;
		-webkit-transform: rotate(-45deg);
		-moz-transform   : rotate(-45deg);
		transform        : rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 16px;
		background :#BDC3C8;
		-webkit-transform: rotate(45deg);
		-moz-transform   : rotate(45deg);
		transform        : rotate(45deg);
	}

	.header-menu .menu{
		display: block;
		width: 100%;
	}

	nav.header-menu {
		position: fixed;
		z-index : 2;
		top  : 70px;
		left : 0;
		color: #7E7E7E;
		background: #fff;
		text-align: center;
		width: 100%;
		opacity: 0;
		transition: opacity .6s ease, visibility .6s ease;
		pointer-events: none;
	}

	nav.header-menu ul {
		margin: 0 auto;
		padding: 0;
		width: 100%;
	}

	nav.header-menu ul li {
		list-style-type: none;
		padding: 0;
		width: 100%;
		transition: .4s all;
		border-bottom: 1px #BDC3C8 solid;
	}
	nav.header-menu ul li:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}

	nav.header-menu ul li a {
		display: block;
		color: #7E7E7E;
		padding: 1em 0;
		text-decoration :none;
	}

	nav.header-menu ul li a:last-child{
		border-bottom: none;
	}
	.sub-menu{
		display: none;
	}
	.parent_li{
		position: relative;
	}
	.parent_li:after{
		content:"";
		display:block;
		width:8px;
		height:8px;
		border-top: #707070 2px solid;
		border-right: #707070 2px solid;
		-webkit-transform: rotate(135deg);
		-ms-transform: rotate(135deg);
		transform: rotate(135deg);
		position:absolute;
		right: 25px;
		top: 3.2vw;
		margin: auto;
		transition: .2s;
	}
	/*開いた状態の矢印描画*/
	.parent_li.trigeropen:after{
		content:"";
		display:block;
		width:8px;
		height:8px;
		border-top: #707070 2px solid;
		border-right: #707070 2px solid;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
		position:absolute;
		right: 25px;
		top: 4.4vw;
		margin: auto;
	}

	/* このクラスを、jQueryで付与・削除する */
	nav.header-menu.active {
		opacity: 100;
		pointer-events: auto;
	}

	.header-menu .menu {
		margin: 0;
	}

	.header-menu .menu li {
		border-left: none;
	}

	.header-menu .menu a{
		padding: 15px 0;
	}

	/*
	Main
	----------------------------------------------- */
	#main{
		margin-top: 70px
	}

	/*
		Footer
	----------------------------------------------- */

	footer{
		padding: 3em 0 80px 0;
	}

	.footer-flex{
		width: 85vw;
		margin: 0 auto;
		display: flex;
		flex-direction: column;
	}

	footer .logo{
		width: 70%;
	}

	footer .logo img{
		width: 100%;
	}

	.footer-menu{
		width: 100%;
	}

	.footer-menu .menu{
		column-count: 2;
		margin-bottom: 30px;
	}

	.footer-menu li {
		text-align: center;
	}

	.footer-menu li a {
		font-size: 3.5vw;
	}

	.opentime{
		font-size: .9em;
	}

	footer small{
		font-size: .7em;
	}

}