html{ color:#333 !important; font-weight:300 !important; }

.typo60_main{ font-size:60%; letter-spacing: 2px;}
.typo80{ font-size:80%; }
.typo80_red{ color:#ff0000; font-size:80%; }
.typo90{ font-size:90%; }
.typo110{ font-size:110% !important;}
.typo120{ font-size:120% !important;}
.typo130{ font-size:130% !important;}
.typo150{ font-size:150% !important;}
.typo180{ font-size:180% !important;}

.typo130_sp{ font-size:130%; }
.typo150_sp{ font-size:150%; }
.typo180_sp{ font-size:180%; }
.typo300_sp{ font-size:300%; }

.typo200{ font-size:200% !important;}
.typo200_main{ font-size:3.0rem; padding-left:6px; margin-top:-6px; }
.l_h13{ line-height:1.3 !important;}
.l_h14{ line-height:1.4 !important;}
.l_h16{ line-height:1.6 !important;}
.l_h18{ line-height:1.8 !important;}
.l_h20{line-height:2 !important;}


.typo_red{ color:#ff0000; }

	.col-xs-4 { padding:5px; }
/*	clearfix
------------------------------------------------------------*/
.cf {
	zoom: 1;
}
.cf:before, .cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}

.margbot0 {margin-bottom:0 !important;}
.margbot5 {margin-bottom:5px !important;}
.margbot10 {margin-bottom:10px !important;}
.margbot20 {margin-bottom:20px !important;}
.margbot25 {margin-bottom:25px !important;}
.margbot30 {margin-bottom:30px !important;}
.margbot40 {margin-bottom:40px !important;}
.margbot50 {margin-bottom:50px !important;}
.margbot60 {margin-bottom:60px !important;}
.margbot70 {margin-bottom:70px !important;}
.margbot80 {margin-bottom:80px !important;}
.margbot100 {margin-bottom:100px !important;}

.margtop20 {margin-top:20px !important;}
.margtop30 {margin-top:30px !important;}
.margtop50 {margin-top:50px !important;}
.margtop80 {margin-top:80px !important;}
.margtop80_sp {margin-top:30px;}
.margbot80_sp {margin-top:0px; margin-bottom:30px;}

.margtop100 {margin-top:100px !important;}
.margtop120 {margin-top:120px !important;}
.margtop150 {margin-top:150px !important;}
.margtop200 {margin-top:200px !important;}

.pad0 {padding:0 !important;}
.pad20 {padding:20px;}
.pad40_sp {padding:40px;}
.padbot0 {padding-bottom:0 !important;}
.padbot10 {padding-bottom:10px !important;}
.padbot20 {padding-bottom:20px !important;}
.padbot20_sp {padding-bottom:20px;}
.padbot30 {padding-bottom:30px !important;}
.padbot40 {padding-bottom:40px !important;}
.padbot50 {padding-bottom:50px !important;}
.padbot60 {padding-bottom:60px !important;}
.padbot70 {padding-bottom:70px !important;}
.padbot80 {padding-bottom:80px !important;}
.padbot100 {padding-bottom:100px !important;}

.padtop5 {padding-top:5px !important;}
.padtop10 {padding-top:10px !important;}
.padtop20 {padding-top:20px !important;}
.padtop30 {padding-top:30px !important;}
.padtop40 {padding-top:40px !important;}
.padtop50 {padding-top:50px !important;}
.padtop80 {padding-top:80px !important;}

.padtop20_sptb{ padding-top:30px; }

.center{ text-align:center !important;}
.left{ text-align:left !important;}
.right{ text-align:right !important;}
.center_sp{ text-align:left; }

.sp_br{ display: none;}
.tb_br{ display: none;}

@media screen and (max-width: 899px) {
.pc_br{ display: none;}
.tb_br{ display: block;}
.padtop20_sptb{ padding-top:0px; }
}
@media screen and (max-width: 599px) {
.center_sp{ text-align:center; }
.tb_br{ display: none;}
.sp_br{ display: block;}
.pad40_sp {padding:20px;}
.padtop20_sptb{ padding-top:0px; }
.padbot20_sp {padding-bottom:0px;}
.typo130_sp{ font-size:115%; }
.typo150_sp{ font-size:130%; }
.typo180_sp{ font-size:160%; }
.typo300_sp{ font-size:190%; }
.typo200_main{ font-size:1.8rem; padding-left:16px; }
.bg_yellow{ padding:0px 10px; }
.bg_pad{ padding:30px 0; }
.bg_pad30{ padding:30px 0; }
}

@media screen and (max-width: 599px) {
.center_sp{ text-align:center; }
.tb_br{ display: none;}
.sp_br{ display: block;}
.pad40_sp {padding:20px;}
.padtop20_sptb{ padding-top:0px; }
.padbot20_sp {padding-bottom:0px;}
.typo130_sp{ font-size:115%; }
.typo150_sp{ font-size:130%; }
.typo180_sp{ font-size:160%; }
.typo300_sp{ font-size:190%; }
.typo200_main{ font-size:1.8rem; padding-left:16px; }
.bg_yellow{ padding:0px 10px; }
.bg_pad{ padding:30px 0; }
.bg_pad30{ padding:30px 0; }
}

.in_container{
	margin:0 auto;
	padding:20px 10px;
	max-width:960px;
}
.in_container800_0{
	margin:0 auto;
	padding:0px;
	max-width:800px;
}
.in_container800{
	margin:0 auto;
	padding:20px 10px;
	max-width:800px;
}

/*-------------------------------------------------
  NEWS
-------------------------------------------------*/
.news_flex{
-webkit-align-items: top;
align-items: top;
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.news_flex img{ width:100%; height:auto; }
.news_flex div.news_pic{
	width: calc(30% - 10px);
	margin: 5px;
}
.news_flex div.news_typo{
	width: calc(70% - 10px);
	margin: 5px; font-size:13px;
}

.blog_archive{ 
	position:relative;
	border-top:2px solid #eeeeee;
	margin-bottom:20px;
	padding-top:20px;
	padding-bottom:20px;
}
.news_block{
	margin:0 auto;
}
.news_main{
	margin:0 auto;
	width:90%;
	text-align:left;
	float:none;
}
.news_main a{ text-decoration: none; }
.news_main a:hover{ opacity:0.7; text-decoration: none; }

.news_nav{
	margin:0 auto;
	width:90%;
	text-align:left;
	float:none;
}
.news_day{
	margin:0 auto;
	font-size:90%; float:right;
letter-spacing: 0;
  line-height: 1.6;
}
.news_tit_base{
padding: 15px;
font-size: 12px;
    letter-spacing: 0;
  background: #f0f0f0;
  border-radius: 8px; margin-bottom:15px;
}
.news_tit{
	padding-bottom:5px;
	font-size:110%;
	line-height:1.5;
	background: #558ec8;
	padding: 10px;
	margin-bottom: 10px;
	color: white;
}
.news_typo{
	font-size:100%;
	line-height:1.6;
}
/* Blog nav */
.cat_icon0{
	background-color:#959595;
	padding:4px 8px;
	display:table-cell;
	text-align:center;
	vertical-align:middle;
	float:right;
	font-size:85%; line-height:1.2;
	margin-right:8px;
	margin-top:0;
	border-radius:5px;
	color: white;
	letter-spacing: 0;
}
.cat_icon{
	background-color:#959595;
	position:absolute;
	bottom:0;
	right:0;
	padding:4px 8px;
	display:table-cell;
	text-align:center;
	vertical-align:middle;
	font-size:85%; line-height:1.2;
	border-radius:5px;
	color: white;
	letter-spacing: 0;
}
.lasted_nav_tit{
	margin-bottom:10px;
	text-align:left;
	font-size:100%;
	color:#fff;
	background-color:#558ec8;
	padding:2px 8px;
	border-radius:5px;
}
.lasted_nav_tit2{
	margin-top:30px;
	margin-bottom:10px;
	text-align:left;
	font-size:100%;
	color:#fff;
	background-color:#558ec8;
	padding:2px 8px;
	border-radius:5px;
}
.blog_nav , .blog_nav2{
	margin-bottom:5px; font-size:13px;
}
.blog_nav ul , .blog_nav2 ul{
	margin: 0;
	padding: 0;
}
.blog_nav li , .blog_nav2 li{
	margin-bottom:6px;
	padding-bottom:6px;
	line-height:1.4;
	color:#75321a;
	text-align:left;
	list-style-type: none;
	list-style-position: inside;
	border-bottom:dotted #aaaaaa 1px;
}
.blog_nav li a:link , .blog_nav2 li a:link,
.blog_nav li a:visited , .blog_nav2 li a:visited,
.blog_nav li a:active , .blog_nav2 li a:active{ color:#333; }
.blog_nav li a:hover , .blog_nav2 li a:hover{ color:#aaa; }

.sns_btn{
	margin:0 auto;
	margin-top:25px;
}
.sns_btn_in{
	width:460px;
	margin:0 auto;
	margin-top:25px;
}
.sns_btn_l{
	padding:0;
	float:right;
}
/* __________ SNSボタン __________ */

a.fb-share{
	float:left;
	padding:10px;
	margin:0 5px 5px 0;
	color:#fff;
	text-align:center;
	display:block;
	text-decoration:none;
	font-size:13px;
	line-height:1.2;
	font-weight:bold;
	border-radius:3px;
	background-color:#305097;
}
a.fb-share:hover{background-color:#7d96ce;}

a.twitter-tweet{
	float:left;
	padding:10px;
	margin:0 5px 5px 0;
	color:#fff;
	text-align:center;
	display:block;
	text-decoration:none;
	font-size:13px;
	line-height:1.2;
	font-weight:bold;
	border-radius:3px;
	background-color:#333;
}
a.twitter-tweet:hover{background-color:#777;}

a.hatenabtn2{
	float:left;
	margin:0 5px 5px 0;
	padding:10px;
	color:#fff;
	text-align:center;
	display:block;
	text-decoration:none;
	font-size:13px;
	line-height:1.2;
	font-weight:bold;
	border-radius:3px;
	background-color:#00a5de;
}
a.hatenabtn2:hover{background-color:#87c8dd;}

a.gplusbtn{
	float:left;
	padding:10px;
	margin:0 5px 5px 0;
	color:#fff;
	text-align:center;
	display:block;
	text-decoration:none;
	font-size:13px;
	line-height:1.2;
	font-weight:bold;
	border-radius:3px;
	background-color:#dd4b39;
}
a.gplusbtn:hover{background-color:#fff;color:#737373;}

a.line_btn{
	float:left;
	padding:10px;
	margin:0 5px 5px 0;
	color:#fff;
	text-align:center;
	display:block;
	text-decoration:none;
	font-size:13px;
	line-height:1.2;
	font-weight:bold;
	border-radius:3px;
	background-color:#1dcd00;
}
a.line_btn:hover{background-color:#c9f1c3;color:#1dcd00;}
.blog_pan{
	margin-top:25px;
	padding:0;
	text-align: center;
	color:#558ec8;
	font-size:100%;
	letter-spacing:0em;
}
.blog_pan a:link { color: #73c1bc; text-decoration: none; }
.blog_pan a:visited { color: #73c1bc; text-decoration: none; }
.blog_pan a:active { color: #73c1bc; text-decoration: none; }
.blog_pan a:hover { color: #a8e2dd; text-decoration: underline; }

.blog_thumb { margin-bottom:6px; }
.blog_thumb img { border-radius:10px; }

/*Pagenation*/
.pagenation {
    margin: 1em 0;
}
.pagenation:after, .pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.pagenation ul {
    margin: 0;
}
.pagenation li {
    float: left;
    list-style: none outside none;
    margin-left: 3px;
font-size:13px;
}
.pagenation li:first-child {
    margin-left: 0;
}
.pagenation li.active {
    background-color: #558ec8;
    border-radius: 3px;
    color: #FFFFFF;
    cursor: not-allowed;
    padding: 0 10px;
}
.pagenation li a {
    background: none repeat scroll 0 0 #558ec8;
    border-radius: 3px;
    color: #FFFFFF;
    display: block;
    padding: 0 10px;
    text-decoration: none;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}
.pagenation li a:hover {
    background-color: #444444;
    color: #FFFFFF;
    opacity: 0.8;
    transition-duration: 500ms;
    transition-property: all;
    transition-timing-function: ease;
}


.hatena{ margin-top:1px; }
.twitter-share-button{ width: 95px!important; margin-top:0px; }

.hatena2{ margin-top:1px; }
.tweet2{ margin-top:0px; }
.fb-like{ width:115px!important; }
.line_btn{ display:block; }

.pan_list{ text-align:left; }




/* タブレット向け：739px～1023px */
@media screen and (min-width: 739px) ,print{

/* NEWS */
	.staff_main_bg , .menu_main_bg , .recruit_main_bg , .esthe_main_bg , .news_main_bg {
		padding:30px 20px;
	}
	.news_tit{ 
font-size: 15px;
    letter-spacing: 0;
 }
	.news_main{
		width:67%;
		float:left;
	}
	.news_nav{
		width:26%;
		float:right;
	}
	.sns_btn_in{
		min-width:739px;
	}
	.line_btn{ display:block; }



}




.modal-open-button {
  padding: 10px 20px;
  color: white;
  text-decoration: none;
  cursor: pointer;
  background-color: #007BFF;
  border: none;
  border-radius: 5px;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / 60%);
  opacity: 0;
  transition: opacity 0.5s, scale 0s 0.5s;
  scale: 0;
}

.modal:target {
  opacity: 1;
  transition: opacity 0.5s;
  scale: 1;
}

.close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 24px;
  color: black;
  text-decoration: none;
  cursor: pointer;
  transform: translate(50%, -50%);
}

.modal-wrapper {
  position: relative;
  width: 80%;
  max-width: 500px;
  max-height: 70%;
  padding: 20px;
  margin: auto;
  overflow: scroll;
  background-color: #FEFEFE;
  border-radius: 5px;
  transition: transform 0.5s;
  transform: translateY(-200%);
}

.modal:target .modal-wrapper {
  transform: translateY(0%);
}

.modal-content h1 {
  margin: 0;
  font-size: 4rem;
  line-height: 1.2em;
  letter-spacing: -0.02em;
}




.hissu{ color:red; font-size:11px; padding-left:10px; }
table.form_tb{
	margin:0 auto;
	line-height:1.2;
	color:#604C3F;
}
table.form_tb th {
	width:auto;
	padding:14px 6px;
	text-align:left;
	font-weight:bold;
	vertical-align: top;
	white-space: nowrap;
}
table.form_tb td {
	width:auto;
	padding:14px 6px;
	text-align:left;
}
@media (max-width: 540px) {
	.recruit_point_bg1{ font-size:150%; }
	table.recruit_tb th , table.recruit_tb td{ display:block; padding:10px 5px; text-align:left; }
	table.recruit_tb td{ padding-bottom:20px; }

	table.form_tb th , table.form_tb td{ display:block; padding:10px 5px; text-align:left; }
	table.form_tb th{ white-space:nowrap; }
	table.form_tb td{ padding-bottom:20px; }

}
/* __________ Contact Form __________ */
textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="email"]
 {
	background-color:white;
	margin:0 0 10px;
	padding: 10px 8px;
	text-transform:none;
	line-height:20px;
	font-size: 13px;
	color: #333333;
	font-style:normal;
	border-radius: 0;
	background: none;
	border: 2px solid #aaaaaa;
	box-shadow: none;
	transition: border-color 0.3s ease-in-out; 
	-webkit-transition: border-color 0.3s ease-in-out;
}
textarea {
	overflow:hidden;
	min-height:95px;
	resize: none;
}
textarea,
input[type="text"].last {margin-right:0;}

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus {
	outline: 0;
	box-shadow: none;
	color:#666;
	border-color:#ccc;
}

/*親要素に中央揃えを適用し、送信ボタンを真ん中に寄せます*/
.wpcf7-form{
	margin:0 auto;
	text-align:center;
}
.contact_submit{ text-align:center; }

.form_l{ text-align:left; }


/*送信ボタンを相対サイズに。ディフォルトのmarginを取り除く*/
.wpcf7 .wpcf7-submit{
    width:40%;
    margin:0 auto; margin-top:30px;
    font-size:110%;
    padding:10px 0px;
    background-color:#3c2a9a;
    color:#fff; border:none;
    height: 60px;
    cursor: pointer;
}
/*送信ボタンにマウスカーソルが乗った時の処理*/
.wpcf7-submit:hover { background-color:#9385df; }
/*エラーの表示を中央寄せ・幅100%表示にします*/
.wpcf7-response-output,
div.wpcf7-validation-errors {
    width:100%;
    text-align:center;
}
/*ロード中画像をブロック要素にして中央に寄せます*/
.wpcf7 .ajax-loader,
div.wpcf7 img.ajax-loader{
    display:block !important;
    margin: 0 auto;
}
.wpcf7-response-output, div.wpcf7-validation-errors{ width:auto !important; }
/*ディフォルトのエラー文章を非表示にします*/
.wpcf7 span.wpcf7-not-valid-tip {
    display: none;
}
/*エラーの発生したフォームを赤背景にします*/
body .wpcf7 .wpcf7-not-valid {
    background: pink;
}
select option{ font-size:110%; }
select{ border: 1px solid #aaaaaa; padding:20px 10px; font-size:110%; }
.contact_btn {
	display:inline-block;
	cursor:pointer;
	margin: 0 7px 10px 0;
	padding:13px 30px;
	border: 2px solid #242424;
	border-radius: 0;
	box-shadow: 0;
	text-shadow:none;
	text-decoration:none;
	font-weight:900;
	line-height:20px;
	font-size:13px;
	color:#333;
	background: none; 
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}
.contact_btn.active, .contact_btn:hover {background: none; color:#fff; border-color:#ccc;}

.notification_error {color:#30a67c;}
.form-width20{ width:20% !important;}

.wpcf7-spinner{ display:block !important;}
/*-------------------------------------------------
  404
-------------------------------------------------*/
.not_typo{
	margin:55px auto;
	margin-bottom:25px;
	font-size:130%;
	color:#88725c;
	letter-spacing:2px;
}

