@charset "utf-8";
a:link { color: #73c1bc; text-decoration: none;  }
a:visited { color: #73c1bc; text-decoration: none; }
a:active { color: #73c1bc; text-decoration: none; }
a:hover { color: #a8e2dd; text-decoration: none; transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; }

.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%; }
.typo200_sp{ font-size:200%; }
.typo300_sp{ font-size:280%; }

.typo200{ font-size:200% !important;}

.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;}
.l_spacing0{ letter-spacing:0px !important;}

.img100{ width:100%; height:auto; }

p{ font-family: "Noto Sans JP"; }
.typo_min{ font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif; }
.typo_dblur{ color:#002659; }
.typo_red{ color:red; }
.typo_undeline{
	display: inline;
    padding: 0 4px 2px 4px;
    background: linear-gradient(transparent 70%, #E3FFC0  0%);
}
.cap_red{ font-size:11px; color:red; }
.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;}

.center{ text-align:center !important;}
.left{ text-align:left !important;}
.right{ text-align:right !important;}
.center_sp{ text-align:left !important;}
.center_pc{ text-align:center !important;}

.pc{ display:block; }
.phone{ display:none; }
.sp_br{ display: none;}
.tb_br{ display: none;}

@media screen and (max-width: 899px) {
	.pc_br{ display: none;}
	.tb_br{ display: block;}
}
@media screen and (max-width: 600px) {
	.center_sp{ text-align:center !important;}
	.center_pc{ text-align:left !important;}
	.pc{ display:none; }
	.phone{ display:block; }
	.tb_br{ display: none;}
	.sp_br{ display: block;}
	.pad40_sp {padding:20px;}
	.padbot20_sp {padding-bottom:0px;}
	.typo130_sp{ font-size:115%; }
	.typo150_sp{ font-size:130%; }
	.typo180_sp{ font-size:160%; }
	.typo200_sp{ font-size:170%; }
	.typo300_sp{ font-size:190%; }
}
hr {
 margin-top:30px;
 margin-bottom:30px;
 border:0;
 border-top:1px solid #aaa
}
.border_radius20 {
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}
.border_radius10 {
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.border_radius5 {
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}


/*	clearfix
------------------------------------------------------------*/
.cf {
	zoom: 1;
}
.cf:before, .cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
img {
	outline:0;
	vertical-align:top;
	border:0;
	max-width:100.1%;
	height:auto;
	transition: all 0.3s ease-in-out; 
	-webkit-transition: all 0.3s ease-in-out;
}
/*-- opacity --*/
a:hover img,
a:focus img {
	opacity: 0.6;
	filter: alpha(oapcity=60);
}
/*-------------------------------------------------
  Inner MAIN
-------------------------------------------------*/
#container{
	margin:0 auto;
	width:100%;
}
.in_container{
	margin:0 auto;
	padding:20px 10px;
	max-width:1100px;
}
.in_container960{
	margin:0 auto;
	padding:20px 10px;
	max-width:960px;
}
.in_container830{
	margin:0 auto;
	padding:20px 10px;
	max-width:830px;
}
.in_container680{
	margin:0 auto;
	padding:20px 20px;
	max-width:680px;
}
.in_container640{
	margin:0 auto;
	padding:20px 20px;
	max-width:620px;
}
.inner_flex {
-webkit-align-items: start;
align-items: start;
  -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;
}
.inner_flex div.c_pic{
	width: calc(42% - 40px);
	margin:20px;
}
.inner_flex div.c_data{
	width: calc(48% - 100px);
	margin:20px;
	padding: 30px;
	margin-left: 10%;
	display: block;
}
.inner_flex div.c50{
	width: calc(50% - 40px);
	margin:20px;
}
.inner_flex div.c50pic{
	width: calc(50% - 40px);
	margin:20px; margin-top:40px;
}
.inner_flex div.jireipic{
	width: calc(16.6666666667% - 0px);
	margin:0px;
}
@media (max-width: 920px) {
	.inner_flex div.c_pic{
		width: calc(45% - 10px);
		margin:5px;
	}
	.inner_flex div.c_data{
		width: calc(55% - 40px);
		margin:10px;
		padding: 10px;
	}
	.inner_flex div.jireipic{
		width: calc(25% - 0px);
		margin:0px;
	}
}
@media (max-width: 530px) {
	.inner_flex div.c_pic{
		width: calc(70% - 0px);
		margin:5px auto;
	}
	.inner_flex div.c_data{
		width: calc(100% - 50px);
		margin:10px;
		padding: 15px;
	}
	.inner_flex div.c50{
		width: calc(100% - 20px);
		margin:10px;
	}
	.inner_flex div.c50pic{
		width: calc(80% - 0px);
		margin:0px;
	}
	.inner_flex div.jireipic{
		width: calc(50% - 0px);
		margin:0px;
	}
}
/* __________ NEWS __________ */
.news_main_bg{
	display:flex;
	justify-content: center;
	align-items: center;
	margin:0;
	position:relative;
	background-image:url(../images/news/main.jpg);
	background-size:cover;
	background-position: bottom center;
	padding:60px 10px;
	text-align:center;
}
.in_main_tit{
	display:inline-block;
	-webkit-filter:drop-shadow(1px 3px 3px rgb(0, 0, 0));
	-moz-filter:drop-shadow(1px 3px 3px rgb(0, 0, 0));
	-ms-filter:drop-shadow(1px 3px 3px rgb(0, 0, 0));
	filter:drop-shadow(1px 3px 3px rgb(0, 0, 0));
	padding:15px 40px;
	margin:0;
	text-align:center;
	font-weight:bold;
	font-size:230%;
	color:#fff;
	letter-spacing:1px;
}
@media (max-width: 600px) {
	.news_main_bg{ padding:30px 10px; }
	.in_main_tit{ font-size:180%; }
}
.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;
}
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:#888; }

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	{ margin:20px auto; }
.pagenum	{text-align: center}

.pagenum a,
.pagenum span{ padding: 3px 8px; color: #A99C80; border:1px solid #A99C80;}

.pagenum a	{background-color: #fff}

.pagenum span	{background-color: #A99C80; color:white;}

.pan_list{ text-align:left; }

.news_block{
	margin:0 auto;
}
.news_main{
	margin:0;
	width:70%;
	float:left;
}
.news_nav{
	margin:0;
	width:20%;
	float:right;
}
@media (max-width: 600px) {
	.news_main{
		width:auto;
		margin:0 auto;
		text-align:left;
		float:none;
	}
	.news_nav{
		margin:0 auto;
		margin-top:20px;
		width:auto;
		text-align:left;
		float:none;
		padding:15px;
	}
}
.news_tit_base_archive{
	padding:15px 5px;
	border-bottom:1px solid #b7b7b7;
	margin-bottom:4vw;
}
.news_tit_base{
	padding-bottom:10px;
}
.news_tit{
	width:auto;
	font-size:120%;
	line-height:1.5;
	color:#262626;
	letter-spacing:0px;
	padding-bottom:15px;
	float:none;
}
.news_day{
	padding-top:0px;
	font-size:90%;
	line-height:1;
	color:#999;
	float:none; letter-spacing:0;
}
.archive_news_tit{
	width:auto;
	line-height:1.3;
	color:#262626;
	letter-spacing:0px;
}
.archive_news_day{
	padding:10px 0 5px 0;
	font-size:90%;
	line-height:1;
	color:#999;
	float:left; letter-spacing:0;
}
.news_typo{
	margin:0px auto;
	margin-bottom:15px;
	font-size:100%;
	line-height:1.6;
	color:#444444;
	overflow:auto;
}
.news_thumb{
	width:30%;
	margin-right:20px;
	float:left;
}
.news_pic{
	margin:20px auto;
}
.news_photo{
	width:65%;
	height:auto;
}
/* Blog nav */
.lasted_nav_tit{
	margin-bottom:20px;
	background-color: #e7e0e0;
	padding:15px 5px;
	  text-align: center;
	  font-size: 115%;
	  font-family: "Jost", sans-serif;
	  font-optical-sizing: auto;
	  font-weight: 500;
	  font-style: normal;
}
.lasted_nav_tit2{
	margin-top:40px; margin-bottom:10px;
	background-color: #e7e0e0;
	padding:15px 5px;
	  text-align: center;
	  font-size: 115%;
	  font-family: "Jost", sans-serif;
	  font-optical-sizing: auto;
	  font-weight: 500;
	  font-style: normal;
}
ul.lasted_nav_salon_li{padding: 0;}
ul.lasted_nav_salon_li li{
	margin:15px 0;
	padding:5px 0 20px 0;
	border-top:0px solid #666;
	border-bottom:1px solid #666;
	  text-align:left;
	list-style-type: none;
	list-style-position: inside;
	line-height:1.2;
}
ul.lasted_nav_salon_li li:first-child{ border-top:1px solid #666; padding-top:20px; }

ul.lasted_nav_salon_li li a:link,
ul.lasted_nav_salon_li li a:visited,
ul.lasted_nav_salon_li li a:active,{ color: #333; text-decoration: none; }
ul.lasted_nav_salon_li li a:hover,{ color: #888; text-decoration: none; }


.blog_nav , .blog_nav2{
	margin-top:0px;
	padding:0;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.blog_nav ul , .blog_nav2 ul{
	margin: 0;
	padding: 0;
}
.blog_nav li{
	padding-bottom:10px;
	list-style-type: disc;
	list-style-position: inside;
	line-height:1.2;
}
.blog_nav2 li{
	padding-bottom:5px;
	list-style-type: none;
	list-style-position: inside;
	line-height:1.2;
	margin: 15px;
}
.blog_nav li a:link,
.blog_nav2 li a:link { color: #333; text-decoration: none; }

.blog_nav li a:visited,
.blog_nav2 li a:visited { color: #333; text-decoration: none; }

.blog_nav li a:active,
.blog_nav2 li a:active { color: #333; text-decoration: none; }

.blog_nav li a:hover,
.blog_nav2 li a:hover { color: #888; text-decoration: none; }


/* __________ about __________ */
.about_main_bg{
	background-image:url(../images/about/main.jpg);
	background-size:cover;
	background-position: bottom center;
}


/* __________ works __________ */
.works_main_bg{
	background-image:url(../images/works/main.jpg);
	background-size:cover;
	background-position: bottom center;
}


/* __________ qa __________ */
.qa_main_bg{
	background-image:url(../images/qa/main.jpg);
	background-size:cover;
	background-position: bottom center;
}

/* __________ contact __________ */
.contact_main_bg{
	background-image:url(../images/contact/main.jpg);
	background-size:cover;
	background-position: bottom center;
}
.soudan h3 {
    font-size: 260%;
    text-align: center;
    margin: 0px;
    padding: 0px 0px 40px 0px;
}
.soudan h3 span{
	background:#1a63c4;
	width:inherit;
	font-size:25px;
	color:white;
	font-weight:bold;
	display:inline-block;
	padding:5px 30px;
	margin:0px 5px;
	border-radius: 10px;
	line-height: 2;
}
.step{ margin:0px auto; }
.step ol{ margin:0px auto; }

.step li{
margin:0px 0px 50px 0px;
padding:0px 0px 20px 0px;
list-style: none;
padding: 30px 15px;
border-radius: 5px;
box-shadow: 4px 4px 12px rgba(0,0,0,.3);
/*! padding-bottom: 40px; */
}
.step li:after{
	content: url('../images/contact/arrow.svg');
    display: block;
    width: 60px;
	text-align:center;
	margin: 0 auto;
margin-bottom:-75px;
}

.step li h2{
	font-size:24px;
	color:#2F416C;
	margin:0px auto 20px auto;
	text-align: center;
}
.step li h2 span{
	border:2px solid #2f416c;
	display:inline-block;
	margin:0px 10px 0px 0px;
	padding:0px 15px;
}
.step li p{
	text-align:center;
	max-width:90%;
	line-height:2.0;
	margin:0 auto;
	margin-bottom: 30px;
}
.step li dl{
	background:#2F416C20;
	border:1px solid #ccc;
	display:flex;
	line-height:1.8;
	box-sizing: border-box;
	align-items: center;
	margin:0 auto; margin-bottom:10px;
}
.step li dl:last-of-type{ margin-bottom:30px; }
.step li dt{
width:20%;
text-align: center;
font-size:18px;
padding:0px 0px 0px 0px;
}
.step li dd{
background:#fff;
border-left:1px solid #ccc;
font-size:13px;
width:80%;
padding:10px 15px 10px 15px;
}
.step li dd span{
padding:0px 0px 0px 10px;
}
.step li dl.shikaku dd em{
font-style:normal;
padding:0px 15px 0px 0px;
}


@media (max-width: 600px) {
	.soudan h3 span {
	  font-size: 22px;
	  padding: 2px 10px;
	}
	.step li h2{ font-size:20px; margin: 0px auto 5px auto; }
	.step li h2 span{ display:block; margin:0px 10px 5px 0px; }
	.step li p{ text-align:left; margin-bottom: 20px; }
	.step li dt{ font-size:15px; }
}


/* __________ 会社概要 __________ */
.company_main_bg{
	background-image:url(../images/company/main.jpg);
	background-size:cover;
	background-position: bottom center;
}
table.company_tb{
	width:100%;
	margin:0 auto; margin-top:10px;
	line-height:1.6;
	font-size:100%;
	border-collapse:collapse;
	text-align:left;
	background-color:#e6e6e6;
}
table.company_tb tr {
	border-bottom:6px solid #fff;
}
table.company_tb th {
	padding:25px 50px 25px 10px;
	white-space:nowrap;
	width: 15%;
}
table.company_tb td {
	padding:25px 10px;
}
@media (max-width: 600px) {
	table.company_tb{ font-size: 100%; }
	table.company_tb th, table.company_tb td{ display:block; padding:20px 10px; text-align:left; }
	table.company_tb th{ padding-top:10px; padding-bottom:0px; }
	table.company_tb td{ padding-top: 10px; padding-bottom:15px; }
	table.company_tb th{ white-space:nowrap; }
}
table.form_tb{
	margin:0 auto;
	width:100%;
	line-height:1.4;
	border-collapse:collapse;
	font-feature-settings: "palt"
}
table.form_tb tr {
	border-bottom:1px solid #ccc;
}
table.form_tb th {
	width:35%;
	padding:14px 20px;
	text-align:left;
	font-weight:bold; vertical-align:middle;
}
table.form_tb td {
	width:65%;
	padding:14px 5px; padding-left:20px;
	text-align:left;
}
@media (max-width: 540px) {
	table.form_tb th , table.form_tb td{ width:auto; display:block; text-align:left; }
	table.form_tb th{ padding:5px 10px 10px 20px; }
	table.form_tb th{ white-space:nowrap; }
}
.hissu_icon{
	border-radius:10px;
	width:50px;
	background-color:#002659;
	color:#fff;
	font-size:12px;
	line-height: 1.5;
	padding: 0 1px 2px 1px;
	text-align:center;
	display:inline-block; font-weight:normal;
	margin-right:10px;
}
.nini_icon{
	border-radius:10px;
	width:50px;
	background-color:#4f72a2;
	color:#fff;
	font-size:12px;
	line-height: 1.5;
	padding: 0 1px 2px 1px;
	text-align:center;
	display:inline-block; font-weight:normal;
	margin-right:10px;
}
.form_block{
	width: 100%;
    border-radius: 5px;
    box-shadow: 4px 4px 12px rgba(0,0,0,.3);
    margin: 0px auto 50px auto;
    padding: 15px;
  }

/* __________ Contact Form __________ */
textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="email"]
 {
	width:90%;
	margin:0 0 10px;
	padding: 10px 8px;
	text-transform:none;
	line-height:20px;
	font-style:normal;
	border-radius: 0;
	background: none;
	border: 1px solid #ccc;
	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;
}
.form-width20{ width:20% !important;}

/*親要素に中央揃えを適用し、送信ボタンを真ん中に寄せます*/
.wpcf7-form{
	margin:0 auto;
	text-align:center;
	width:100%;
}
.contact_submit{ text-align:center; }

.form_l{ text-align:left; }

/*送信ボタンを相対サイズに。ディフォルトのmarginを取り除く*/
.wpcf7 .wpcf7-submit{
		margin: 20px auto:
  position: relative;
  display: inline-block; width: 200px;
  position: relative;
  padding:12px 20px 15px 20px;
  color: #fff;
  font-size: 16px;
  font-family: "Noto Sans JP";
  text-align: center;
  text-decoration: none;
  border-radius:10px;
background: #002659;
cursor: pointer;
border: 0px solid #fff;
}

/*送信ボタンにマウスカーソルが乗った時の処理*/
.wpcf7-submit:hover { background-color:#356ab1 }

/*エラーの表示を中央寄せ・幅100%表示にします*/
.wpcf7-response-output,
div.wpcf7-validation-errors {
    width:100%;
    text-align:center;
}
.wpcf7-spinner{ display:block !important; margin:20px auto !important; }
/*ロード中画像をブロック要素にして中央に寄せます*/
div.wpcf7 img.ajax-loader{
    display:block;
    margin: 0 auto;
}
/*ディフォルトのエラー文章を非表示にします*/
.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-family: 'Roboto', sans-serif;
	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;}

