@charset "UTF-8";

/*
Theme Name: studio_genda
Author: AMOAMO
*/

/* リセット
================================================== */
* {margin: 0; padding: 0;}
.pc_no,
.pcm_no{display:none;}
*::after,
* {-webkit-box-sizing: border-box; -moz-box-sizing: border-box;	box-sizing: border-box;}
ul{padding: 0; margin: 0;}
li{padding: 0; margin: 0; list-style-type:none;}
img{border:none; vertical-align:top}
a:focus, *:focus {  outline:none; }
img a, a {
  -webkit-transition: .4s;
  transition: .4s;	
  outline: none;
}

/* フォント・文字装飾
================================================== */
.barlow-400 {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.barlow-500  {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.barlow-600  {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.fw_500{font-weight: 500}
.fw_700{font-weight: 600}
.fw_700{font-weight: 700}

.fc_white{color:#fff}
.fc_blu{color:#61c0e0}
.fc_org{color:#f69a7b}

.fs_13{font-size:13px; line-height: 1.5em;}
.fs_14{font-size:14px; line-height: 1.6em;}
.fs_16{font-size:16px}
.fs_18{font-size:18px}
.fs_20{font-size:20px}
.fs_24{font-size:24px}
.fs_30{font-size:30px}
.fs_34{font-size:34px}

.ls01{letter-spacing: 0.1em;}
.ls03{letter-spacing: 0.3em;}
.ls05{letter-spacing: 0.5em;}
.ls2{letter-spacing: 2em;}

.vertical_title{writing-mode: vertical-rl;}


/* リンク
================================================== */
a:link{color: #000; text-decoration: none;}
a:visited{color: #000; text-decoration: none;}
a:active{color: #000; text-decoration: none;}
a:hover{color: #666; text-decoration: none;}

a img:hover{filter: alpha(opacity=85);-moz-opacity:0.85;opacity:0.85;}
img a, a {
  -webkit-transition: .3s;
  transition: .3s;	
  outline: none;
}
/* 全体
================================================== */
html { scroll-behavior: smooth;}
body {
	font-family: "Lato","Noto Sans JP","游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  	font-weight: 500;
	color: #000;
	font-size: 15px;
	line-height: 2.2em;
	letter-spacing: 0.03em;
	-webkit-text-size-adjust: none;
}

/* レイアウト
================================================== */
.contents_wp{
	width:100%;
	max-width:1250px;
	margin-left: auto;
	margin-right: auto;
}
.contents_w87{
	width:87%;
	max-width:1200px;
	margin-left: auto;
	margin-right: auto;
}
.contents_full{
	width:100%;
	max-width:1500px;
	margin-left: auto;
	margin-right: auto;
}
.fl_right{float: right;}
.fl_left{float: left;}

.flex_wp,
.flex_wp_sp,
.flex_wp_spmd{
	display:flex;
	justify-content: space-between;
}
.flex_center{align-items: center;}
.flex_end{align-items: flex-end;}
.flex_wrp{flex-wrap: wrap;}

.txt_center, .w-txt_center{text-align:center;}
.txt_left{text-align:left!important;}
.txt_right{text-align:right}
.ps_rel{position: relative}
.ps_abs{position: absolute}
.clear{clear: both;}

.box_w25{width:25%}
.box_w30{width:30%}
.box_w35{width:35%}
.box_w40{width:40%}
.box_w45{width:45%}
.box_w48{width:48%}
.box_w50{width:50%}
.box_w55{width:55%}
.box_w60{width:60%}
.box_w65{width:65%}
.box_w70{width:70%}

img.w100{width:100%; height:auto;}
.br_right{border-radius: 0 40px 40px 0;}
.br_left{border-radius: 40px 0 0 40px;}
.br_all_8{border-radius: 8px}
.br_all_10{border-radius: 10px}

.br_50{border-radius:50px 0 50px 0;}
.br_70{border-radius:70px 0 70px 0;}
.br_80{border-radius:80px 0 80px 0;}

/* 背景
================================================== */
.lgray_bk{width:100%; background:#eeeeee;}
.gray_bk{width:100%; background:#e4e3df;}
.black_bk{width:100%; background:#292b31;}
.dgray_bk{width:100%; background:#585858;}

/* リンクボタン
================================================== */
.linkbtn_wp{
	width:100%;
	padding:25px 0;
}
.linkbtn_right{
	width:100%;
	margin:35px auto 0;
	text-align:right;
}
/* 白ボタン */
a.bs_btn{
	padding:1.7em 6em 1.7em 4em;
	background : url("images/arrow.png") #fff no-repeat right 2.5em center;
	background-size: 25px auto;
	font-size:16px;
	border-radius:50px;
	transition: 0.4s ease;
}
a.bs_btn:hover{
	background : url("images/arrow_wt.png") #333 no-repeat right 2.2em center;
	background-size: 25px auto;
	color:#fff;
}
a.bs_btn span{padding-right:2em; border-right:1px solid #333}
a.bs_btn:hover span{border-right:1px solid #fff}

/* 黒ボタン */
a.bk_btn{
	padding:1.7em 6em 1.7em 4em;
	background : url("images/arrow_wt.png") #333 no-repeat right 2.5em center;
	background-size: 25px auto;
	font-size:16px;
	border-radius:50px;
	color:#fff;
	transition: 0.4s ease;
}
a.bk_btn:hover{
	background : url("images/arrow_wt.png") #000 no-repeat right 2.2em center;
	background-size: 25px auto;
}
a.bk_btn span{padding-right:2em; border-right:1px solid #fff}

/* 黒ボタン-小 */
a.bk_btn_s{
	padding:1.4em 5em 1.4em 3.5em;
	background : url("images/arrow_wt.png") #333 no-repeat right 2em center;
	background-size: 23px auto;
	font-size:14px;
	border-radius:50px;
	color:#fff;
	transition: 0.4s ease;
}
a.bk_btn_s:hover{
	background : url("images/arrow_wt.png") #000 no-repeat right 1.8em center;
	background-size: 23px auto;
}
a.bk_btn_s span{padding-right:1.5em; border-right:1px solid #fff}
/* margin、padding
================================================== */
.mt15{margin-top:15px}
.mt20{margin-top:20px}
.mt30{margin-top:30px}
.mt50{margin-top:50px}
.mt70{margin-top:70px}

.mb15{margin-bottom:15px}
.mb20{margin-bottom:20px}
.mb30{margin-bottom:30px}
.mb70{margin-bottom:100px}

.pt20{padding-top:20px}
.pt50{padding-top:50px}
.pt70{padding-top:70px}
.pt100{padding-top:100px}

.pb20{padding-bottom:20px}
.pb50{padding-bottom:50px}
.pb70{padding-bottom:70px}
.pb100{padding-bottom:100px}

.ptb70{padding:70px 0}
.ptb80{padding:80px 0}
.ptb100{padding:100px 0}

/* ヘッダー
================================================== */
.sp_navi{display:none}
#header_bk{
	background : url("images/header_bk.jpg") #eeeeee no-repeat left top;
	background-size: 60% auto;
	padding:25px 0 40px;
}
.header_wp{
	width: 90%;
	margin:0 auto;
	position: relative;
	display:flex;
	justify-content: space-between;
}
.header_logo{width:220px;}
.pc_navi{width:530px;}
.pc_navi ul{padding-top:20px}
.pc_navi ul li{
	display: inline-block;
	margin-right: 40px;
	font-size:13px;
	text-align:center;
	line-height:1.6;
}
.pc_navi ul li span{font-size:20px;}
.pc_navi ul li a:hover{color:#999;}

.header_mail{
	position: fixed;
	z-index: 999;
	top:12px;
	right:3%;
	width:120px;
}
.header_mail a.circle-btn{
	width: 120px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	border-radius: 50%;
	background: linear-gradient(45deg, #8d9093, #b49d58);
	background-image: url("images/mail_wt.png"), linear-gradient(45deg, #8d9093, #b49d58);
	background-repeat: no-repeat;
	background-position: center 25%, center;
	background-size: 30px, cover;
	transition: 0.4s ease;
}
.circle-btn .text {
	margin-top: 30px;
	line-height: 1.4;
}
.circle-btn .en {
	display: block;
	font-size: 20px;
}
.circle-btn .jp {
	display: block;
	font-size: 12px;
}
.top_catch{
	width:100%;
	margin:0 auto;
	padding-top:100px;
	padding-left:11%;
}
.js-split {
  white-space: pre; /* 空白や改行を維持 */
}
.js-split span {
  display: inline-block;
	font-size:64px;
}

/* TOPスライダー
================================================== */
#viewer_wp{
	width:100%;
	margin: 0 auto;
	position: relative;
	padding-bottom:100px;
}
.slider_msg{
	position:absolute;
	left:10%;
	top:0;
	width:50%;
	max-width:670px;
	z-index:10;
	background:#eee;
	padding:15px 90px 80px 0;
	border-radius:0 0 60px 0;
}
.slider_msg p.slider_title{
	font-size:34px;
	margin-bottom:50px;
	font-weight:500;
}
.slider_msg h1{
	font-size:15px;
	font-weight:500;
	margin-bottom:0.8em;
	padding-left:15px;
}
.slider_msg p.slider_text{padding-left:15px;}
/* 伸びるライン */
.line-animation{
	position:absolute;
	top:65px;	
	width:calc(10% + 510px);
	height: 1px;
	background: linear-gradient(90deg, #000, #000);
	transform: scaleX(0);
	transform-origin: left;
	animation: lineScale 1.5s ease-out forwards;
	animation-delay: 0.8s;
	z-index:15;
}
@keyframes lineScale {
  to {
    transform: scaleX(1);
  }
}

.sliderwp{
	float:right;
	position: relative;
	width: 70%;
	margin: 0;
	padding: 0;
}

.fadeslider li{
	width: 100%;
	height: 700px;
	overflow: hidden;	
	position:absolute;
}

.fadeslider img.slider_img{
	width:100%;
	height: 100%;
	object-fit: cover;
	vertical-align:top;
  	border-radius:0 0 0 7px;
}
.slider_sideimg{
	position:absolute;
	width:28%;
	top:500px;
	left:0;
}
.slider_sideimg img{
	width:100%;
	height: 300px;
	object-fit: cover;	
	border-radius:0 7px 7px 0;
}
@media screen and (max-width: 1300px) {
	.slider_msg{left: 5%;}
	.top_catch{padding-left:6%;}
	.line-animation{width:calc(5% + 510px);}
}
@media screen and (max-width: 1230px) {
	.header_logo{width:180px;}
	.slider_msg{
		max-width:auto;
		min-width:550px;
		padding:15px 70px 80px 0;
	}
	.slider_msg p.slider_title{font-size:30px;}
	.line-animation{width:calc(5% + 450px);}
	.sliderwp{width: 75%;}
	.slider_sideimg{width:23%;}
}
@media screen and (max-width: 900px) {
	.header_logo{width:160px;}
	.pc_navi{width:480px;}
	.pc_navi ul li{
		margin-right: 30px;
		font-size:12px;
	}
}
/* TOPページ
================================================== */
.top_concept_bk{
	clear:both;
	width:100%;
	background : url("images/page_bk_01.jpg") #eeeeee no-repeat right bottom;
	background-size: 65% auto;
	padding:100px 0 120px;
}
.top_concept_text{
	width:52%;
	padding-left:5%;
	padding-top:70px;
}
.top_concept_title{
	display:flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom:25px;
}
.tcp_tl{width:330px; padding-bottom:10px}
.tcp_img{
	width:calc(100% - 330px);
}
@media screen and (max-width: 1250px) {
	.top_concept_title{position:relative;}
	.tcp_img{
		position:absolute;
		width:250px;
		top:-40px;
		left:310px;
	}
	.tcp_tl{padding-top:80px;}
}
.tcp_tl h2{font-size:30px; line-height:1.6em; padding-bottom:15px}
.top_concept_text h3{
	font-size:23px;
	margin-bottom:30px;
}
.top_concept_img{
	width:40%;
}
.top_concept_img ul{
	display:flex;
	justify-content: space-between;
}
.top_concept_img ul li.tpcon_img01{width:40%; padding-top:150px;}
.top_concept_img ul li.tpcon_img02{width:53%;}	
.top_concept_img ul li.tpcon_img01 img{
	width:100%;
	height:400px;
	object-fit: cover;
	border-radius:7px;
}
.top_concept_img ul li.tpcon_img02 img{
	width:100%;
	height:450px;
	object-fit: cover;
	border-radius:7px;
}
h2.main_title{font-size:15px; letter-spacing:0.05em; line-height:2.3em}
h2.main_title span{font-size:60px;}
.top_service_bk{
	width:100%;
 	background: -moz-linear-gradient(top, #8b7b4b 25%, #eeeeee 25%, #eeeeee 100%);
  	background: -webkit-linear-gradient(top, #8b7b4b 25%, #eeeeee 25%, #eeeeee 100%);
  	background: linear-gradient(to bottom, #8b7b4b 25%, #eeeeee 25%, #eeeeee 100%);	
	padding:100px 0 130px;
	text-align:center;
}
ul.top_svs-list{
	margin:50px auto 20px;
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
}
ul.top_svs-list li{
	width: 26%;
	margin:0 3.5% 60px;
}
ul.top_svs-list li img{
	width:100%;
	height:320px;
	object-fit: cover;
	border-radius:8px;
	margin-bottom:15px;
}
ul.top_svs-list li h3{
	font-weight:600;
	font-size:16px;
	border-bottom:1px solid #ccc;
	padding-bottom:0.4em;
	margin-bottom:0.3em;
}
ul.top_svs-list li p{font-size:15px;}
@media screen and (max-width: 1350px) {
	ul.top_svs-list li img{
		width:100%;
		height:300px;
		}
}
@media screen and (max-width: 1200px) {
	ul.top_svs-list li{
		width: 27%;
		margin:0 3% 60px;
		text-align:left;
	}
	ul.top_svs-list li img{
		width:100%;
		height:250px;
		}
	ul.top_svs-list li h3,
	ul.top_svs-list li p{padding-left: 0.4em}
	ul.top_svs-list li p{line-height:1.6em;}
}
.top_btb_bk{
	background:url("images/top/contractor_img_pc.jpg") #eee no-repeat top center;
	background-size:100% auto;
	padding:25% 0 50px;
}
.top_btb_wp{
	width:90%;
	max-width:1200px;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
	background:#fff;
	padding:80px 100px 70px;
	border-radius:10px;
}
.top_btb_tl{width:430px:}
.top_btb_text{width:calc(100% - 440px);}
h2.btbc_tl{
	position: relative;
  	display: inline-block;
	font-size:24px;
	line-height:2.0em;
}
h2.btbc_tl::after {
  content: "";
  display: block;
  width: 15%;
  height: 3px;
	border-radius:3px;
  background-color: #333;
  margin-top: 18px;
}
h2.btbc_tl span{
	font-size:14px;
	font-weight:500;
	padding:1.2em 1.5em 0.5em;
	border-top:1px solid #888;
	border-right:1px solid #888;
	border-left:1px solid #888;
	border-radius:5px 5px 0 0;
}
p.btbc_tl_en{
	font-size:18px;
	margin-top:15px;
	color:#666;
}
.top_btb_text p{margin-bottom:1em;}
.top_btc_bk{
	width:100%;
	background : url("images/page_bk_01.jpg") #eeeeee no-repeat right bottom;
	background-size: 65% auto;
	padding:20px 0 130px;
}
.top_btc_wp{
	background:url("images/top/personal_bk.jpg") #d2dee1 no-repeat top left;
	background-size:auto 100%;
	width:90%;
	max-width:1200px;
	margin:0 auto;
	padding:80px 100px 70px 540px;
	border-radius:10px;
}
.top_btc_text{margin-top:35px;}
ul.top_psn_list{margin-top:25px;}
ul.top_psn_list li{list-style-type:disc; margin-bottom:0.3em; margin-left:1em;}
.top_example{
	width:100%;
	background:url("images/top/example_bk.jpg") no-repeat center;
	background-size:cover;
	padding:100px 0 80px;
	text-align:center;
}
ul.top_exlist{
	width:100%;
	max-width:1100px;
	margin:70px auto;
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
ul.top_exlist li{
	width:23.5%;
	border:1px solid #eee;
	padding:0.7em;
	font-weight: 600;
	margin-bottom:1.5em;
	color:#fff;
	border-radius:5px;
}
@media screen and (max-width: 1350px) {
	.top_btb_wp{padding:80px 70px 70px;}
	.top_btc_wp{
		background:url("images/top/personal_bk_m.jpg") #d2dee1 no-repeat top left;
		background-size:auto 100%;
		padding:80px 70px 60px 460px;
	}
	.top_btb_tl{width:350px:}
	.top_btb_text{width:calc(100% - 390px);}
}
@media screen and (max-width: 1000px) {
	.top_btb_wp{display:block;}
	.top_btb_tl{width:100%;}
	.top_btb_text{width:100%; margin-top:25px;}
	.top_btc_wp{
		background:url("images/top/personal_sp.jpg") #d2dee1 no-repeat top center;
		background-size:100% auto;
		padding:80px 70px 70px;
	}
}
/* 固定ページ　タイトル
================================================== */
.page_title_bk{
	width:100%;
	margin:0 auto;
	padding:40px 0 0 5%;
	position:relative;
}
.page_title_bk img.svs_title_img{
	width:100%;
	height: 430px;
	object-fit: cover;
	border-radius:7px 0 0 0;
}
.page_title{
	position:absolute;
	left:5%;
	bottom:0;
	min-width:600px;
	z-index:10;
	background:#eee;
	padding:70px 3% 10px;
	border-radius:0 60px 0 0;
}
.page_title p.en_tl,
.page_title p.en_rstl{font-size:64px; margin-bottom:0.5em}
.page_title h2{font-size:15px}

/* サービス
================================================== */
.page_head_msg{
	width:85%;
	max-width:1000px;
	margin:0 auto;
	padding:50px 0;
}
.phm_title{width:350px}
.phm_text{width:calc(100% - 400px);}
.phm_title h1{font-size:30px; line-height:1.6em;}
.phm_text p{margin-bottom:0.8em}

.page_svs_wp,
.page_svswk_wp{
	width:88%;
	max-width:1300px;
	margin:40px auto 0;
	padding-bottom:10px;
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.page_svs_inner{
	width:48%;
	background:#fff;
	border-radius:8px;
	position:relative;
	padding:50px 40px 40px 70px;
	margin-bottom:60px;
}
.svsen_title{
	position:absolute;
	left:10px;
	top:-15px;
}
p.line_entl{
	font-family: "Barlow Condensed", sans-serif;
  	font-weight: 400;
	background:url("images/service/h-line.png") no-repeat top center;
	background-size:1px auto;
	padding-top:130px;
	font-size:14px;
	letter-spacing:0.05em;
	color:#999;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.svs_main h2{font-size:20px; margin-bottom:0.7em;}
.svs_main p{line-height:1.8em; font-size:14px;}
.svs_exin{
	width:100%;
	margin-top:30px;
	display:flex;
	justify-content: space-between;
}
.svs_exin_list{width:45%; padding-top:15px;}
.svs_exin_list ul li{
	font-size:14px;
	line-height:1.6em;
	margin-bottom:0.5em;
	margin-left:15px;
	list-style:disc;
}
.svs_exin_img{width:50%;}
.svs_exin_img img{
	width:100%;
	height: 200px;
	object-fit: cover;
	border-radius:8px;	
}
.pgwk_title{
	width:85%;
	margin:0 auto;
	padding:80px 0 60px;
	text-align:center;
}
.pgwk_title h3{
	display:inline-block;
	font-size: 28px;
	padding: 0.5em 2.5em 0;
	background-image: url("images/bk_l.png"), url("images/bk_r.png");
	background-size:32px auto, 32px auto;
	background-repeat:no-repeat,no-repeat;
	background-position:left bottom, right bottom;
	text-align: center;
	letter-spacing:0.05em;
	margin-top:35px;
	margin-bottom:20px;
}
.pgwk_inner{
	width:23%;
	background:#fff;
	border-radius:8px;
	position:relative;
	padding:50px 30px 30px;
	margin-bottom:90px;
}
.pgwk_inner img.pgwk_icon{
	width:165px;
	height:auto;
	position:absolute;
	top:-40px;
	left: 0;
	right: 0;
	margin: auto;
}
@media screen and (max-width: 1400px) {
	.page_svswk_wp::after{
	  content:"";
	  width:31%;
	}
	.pgwk_inner{width:31%;}
	
}
@media screen and (max-width: 1100px) {
	.page_svswk_wp::after{
	  content:"";
	  width:48%;
	}	
	.pgwk_inner{width:48%;}
}
.pgwk_inner h3{
	font-size:16px;
	text-align:center;
	padding-bottom:0.5em;
	border-bottom:1px solid #ccc;
	margin-bottom:1.5em;
}
.pgwk_inner ul li{
	font-size:14px;
	line-height:1.7em;
	margin-bottom:0.3em;
	margin-left:20px;
	list-style:disc;
}
.svs_bts_bk{
	width:100%;
	background:url("images/service/bts_bkimg.jpg") #eee no-repeat left top;
	background-size:37% auto;
	padding:140px 0 130px;
}
.svs_bts_title{
	width:90%;
	padding-left:50%;
}
.svs_bts_title ul{margin-top:20px;}
.svs_bts_title ul li{
	background:#e4e3df;
	padding:0.3em 1em;
	border-radius:5px;
	font-size:13px;
	display:inline-block;
	margin-right:12px;
	margin-bottom:10px;
}
.svs_bts_wp{
	width:87%;
	max-width:1100px;
	margin:35px auto 0;
	display:flex;
	justify-content: space-between;
}
.svs_bts_text{
	width:45%;
	padding-top:30px;
}
.svs_bts_text p{margin-bottom:1em}
.svs_bts_img{width:50%;}
.svs_bts_img img{border-radius:8px}
@media screen and (max-width: 1650px) {
	.svs_bts_bk{
		background:url("images/service/bts_bkimg.jpg") #eee no-repeat left top;
		background-size:43% auto;
	}
}
@media screen and (max-width: 1200px) {
	.svs_bts_bk{
		background:url("images/service/bts_bkimg.jpg") #eee no-repeat left top;
		background-size:40% auto;
	}
	.svs_bts_wp{width:100%; max-width:100%;}
	.svs_bts_title{padding-left:43%;}
	.svs_bts_text{width:38%; padding-left:7%}
	.svs_bts_img{width:58%;}
	.svs_bts_img img{border-radius:8px 0 0 8px}
}
ul.page_btb_list{margin-top:25px}
ul.page_btb_list li{
	background:url("images/check.png") no-repeat left top 0.5em;
	background-size:23px auto;
	padding-left:40px;
	margin-bottom:0.7em;
}
/* 会社概要
================================================== */
.abmsg_text{width:62%;}
h2.about_subtl{
	font-size:36px;
	margin-bottom:30px;
}
.abmsg_text p{margin-bottom:1em}
.abmsg_img{width:30%;}
.about_wp{width:100%; padding:70px 0 120px}
.about_img{width:35%;}
.about_img img{
	width:100%;
	height: 600px;
	object-fit: cover;
	border-radius:0 10px 10px 0;
}
.about_info{
	width:60%;
	padding:25px 0 0 50px;
}
dl.company_list{
	width: 85%;
	max-width:620px;
	margin-top:20px;
    border-top: 1px dotted #999;
	text-align:left;
}
dl.company_list dt{
	width: 140px;
	clear: left;
	float: left;
	padding:15px 10px;
}
dl.company_list dd{
	border-bottom: 1px dotted #999;
	padding: 15px 8px 15px 22%;
	letter-spacing:0.05em;
}
dl.company_list dd ul li{
	list-style-type:disc!important;
	margin-left:20px;
}
@media screen and (max-width: 1200px) {
	.about_img{width:25%;}
	.about_info{width:70%;}
}
/* お問い合わせ
================================================== */
.contact_wp{
	width:85%;
	max-width:950px;
	margin:0 auto;
	padding:50px 0 120px;
	text-align:center;
}
table.contact-form{
	width:100%;
	margin: 50px auto 30px;
	border-collapse: collapse;
}
table.contact-form th, table.contact-form td{
 	text-align: left;
	font-size:15px;
}
table.contact-form th{
	width: 30%;
	min-width:200px;
	vertical-align:top;
	padding: 25px 0 20px;
	font-weight:500;
}
table.contact-form td{padding: 20px 0;}
input, select {
  -webkit-appearance: none;
  appearance: none;
}
table.contact-form input,
table.contact-form textarea{
	outline: none;
  	padding: 1.2em 1em;
	border:1px solid #ccc;
	font-family: inherit;
	color:#000;
	width:100%;
	border-radius:5px;
	font-size:15px;
	font-weight:400;
}
table.contact-form input[name="zipcode1"]{width:80px; padding: 0.7em 1em; margin:0 0.5em}
table.contact-form input[name="zipcode2"]{width:100px; padding: 0.7em 1em; margin:0 1em 0 0.5em}

@media screen and (max-width: 898px) {
	table.contact-form{margin: 30px auto 40px;}
	table.contact-form th, table.contact-form td{display:block; width:100%}
	table.contact-form th{padding: 20px 2px 7px;}
	table.contact-form td{padding: 0 2px 25px; border-bottom:1px solid #eee}
	table.contact-form input,
	table.contact-form textarea{padding: 1em 0.8em;}
}

/* サンプル文字 */
input::placeholder,
textarea::placeholder{color: #999; font-size:15px; font-weight:400}
/* IE */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder{color: #999; font-size:15px; font-weight:400}
/* Edge */
input::-ms-input-placeholder,
textarea::-ms-input-placeholder{color: #999; font-size:15px; font-weight:400}

.input_items{
	font-size: 13px;
	margin-right: 15px;
	padding:0.5em 0.7em 0.5em 1.2em;
	letter-spacing:0.4em;
	border-radius:5px;
}
.requisite{
	background:#ac9a64;
	border:1px solid #ac9a64;
	color:#fff;
}
.optional{
	border:1px solid #999;
	color:#666;	
}
.contact_footer{
	width:100%;
	text-align:center;
	margin:30px auto 0;
}
/* チェックボックス変更 */
.policy_check{
	width:90%;
	margin:0 auto;
	text-align:center;
	font-size:15px;
	font-weight:500;
}
.policy_check p.send_info{
	font-size:14px;
	font-weight:500;
	margin-bottom:1.5em;
	line-height:1.9em;
}
.wpcf7-list-item-label { position: relative;}

.policy_check input[type=checkbox] {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
  margin: 0;
  width: 23px;
  height: 23px;
  cursor: pointer;
  opacity: 0; 
}
.policy_check .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 52%;
  left: -1.5em;
  transform: translateY(-50%);
  width: 23px;
  height: 23px;
  border: 2px solid #ac9a64;
	border-radius:3px;
  background: #FFF;
  cursor: pointer;
  transition: all 0.3s;
}
.policy_check .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 52%;
  left: -1.5em;
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
  background: transparent url("images/mf_check.png") no-repeat center center / contain;
  cursor: pointer;
  transition: all 0.3s;
  opacity: 0; 
}
input[type=checkbox]:checked + .wpcf7-list-item-label::after { opacity: 1;}
input[type=checkbox]:checked + .wpcf7-list-item-label::before { opacity: 0;}

a.policy_link {
	display: inline-block;
	margin-left: 15px;
	text-decoration: underline;
	background : url("images/link_icon.png") no-repeat right 0.7em center;
	background-size:18px;
	color:#000;
	padding-right:40px;
}
a.policy_link:hover{color:#ad9a63;}

span.wpcf7-spinner { display: none;}
.wpcf7-submit{
	font-family: inherit;
	font-weight: 500;
	color:#fff;
	padding:0.8em 6em 0.8em 4em;
	background : url("images/arrow_wt.png") #333 no-repeat right 2.5em center;
	background-size: 25px auto;
	display:block;
	margin:0 auto;
	width:300px;	
	border-radius:50px;
	font-size:20px;
	text-align:center;
	transition: .3s;
	letter-spacing:0.07em;
	cursor: pointer;
	border:1px solid #333;
}
.wpcf7-submit:hover{
	background : url("images/arrow_wt.png") #000 no-repeat right 2.2em center;
	background-size: 25px auto;
	color:#fff;
	border:1px solid #000;
}
.wpcf7-submit:disabled {
	background : url("images/arrow_wt.png") #ccc no-repeat right 2.5em center;
	background-size: 25px auto;
	border:1px solid #ccc;
	color:#fff;
}
div.wpcf7-mail-sent-ok,
div.wpcf7-mail-sent-ng,
div.wpcf7-spam-blocked,
div.wpcf7-validation-errors,
.wpcf7 form .wpcf7-response-output{
	border: none;
	background:#fff;
	color:#cc3333;
	padding:1.3em 2em;
	border-radius:50px;
}
.thanks_info{
	width:85%;
	max-width:950px;
	margin:0 auto;
	padding:70px 0 200px;
	text-align:center;
}
.thanks_info h3{font-size:26px; margin-bottom:1.5em;}
.thanks_info p{
	margin-bottom:50px;
	line-height:2em;
}
/* プライバシーポリシー
================================================== */
.policy_wp{
	width:85%;
	max-width:900px;
	margin:0 auto;
	padding:70px 0 130px;
	text-align:left;
}
.policy_wp h3{
	font-size:16px;
	font-weight:600;
	padding:0.4em;
	margin:3em 0 0.5em;
	border-bottom: 1px dotted #ad9a63;
}
.policy_wp p{
	padding:0 0.8em;
	margin-bottom:1em;
	font-weight:400;
}
.policy_wp h4{
	margin:1em 0.8em 0.2em;
	font-size:15px;
	font-weight:600;
}
.policy_wp ul li{
	list-style:disc;
	margin-left:1.5em;
	margin-bottom:0.5em;
}
/* フッター
================================================== */
.footer_bk{
	width:100%;
	background:#eee;
	padding:50px 0 50px;
}
#footer_wp{
	border-top:1px solid #666;
	border-bottom:1px solid #666;
	padding:20px 0;
}
.footer_inner{
	width:90%;
	max-width:1300px;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
}
.ft_about{width:30%; border-right:1px solid #666; padding:10px 25px 13px 0}
.ft_about h2 img{
	width:70%;
	max-width:180px;
	height:auto;
	margin-bottom:0.5em;
}
.ft_about p.add{font-size:14px; font-weight:400;}
ul.ft_navi{margin-top:0.5em;}
ul.ft_navi li{
	display:inline-block;
	margin-right:25px;
}
ul.ft_navi li a{font-size:12px;}
.ft_contact{width:52%; padding-left:50px; padding-top:20px}
.ft_contact_tlwp{padding-left:2em}
p.ft_contact_tl{font-size:28px; margin-bottom:0.3em;}
.ft_contact h3{font-size:14px; font-weight:400}
.ft_contact_in{
	width:550px;
	margin-top:30px;
	display:flex;
	justify-content: space-between;
	align-items: center;
}
.ft_mail{width:300px;}
.ft_mail a{
	background : url("images/mail_wt.png") #333 no-repeat left 2.2em center;
	background-size:25px auto;
	padding:1.2em 2.5em 1.2em 5em;
	color:#fff;
	border-radius:50px;
	transition: 0.4s ease;
}
.ft_mail a:hover{
	background : url("images/mail_wt.png") #000 no-repeat left 2.2em center;
	background-size:25px auto;
}
.ft_tel{width:230px;}
.ft_tel p{
	background : url("images/footer/tel.png") no-repeat left top 0.15em;
	background-size:30px auto;
	padding:0 0 5px 37px;
	font-size:34px;
	letter-spacing:0.03em;
}
.ft_sns{
	width:18%;
	padding-top:20px;
	padding-left:40px;
	border-left:1px solid #666;
}
ul.ft_sns_list{margin-top:1.8em}
ul.ft_sns_list li{
	width:27px;
	display:inline-block;
	margin-right:25px;
}
.ft_copy{
	padding-top:25px;
	text-align:center;
	font-size:12px;
	letter-spacing:0.05em
}
@media screen and (max-width: 1300px) {
	.ft_about{width:40%;}
	.ft_contact{width:40%; text-align:center; padding:15px;}
	.ft_contact_tlwp{padding-left:0}
	.ft_contact_in{display:block; width:100%; margin-top:20px;}
	.ft_mail{margin:0 auto;}
	.ft_tel{width:250px; margin:25px auto 0; padding-left:1em;}
	.ft_tel p{
		background : url("images/footer/tel.png") no-repeat left top 0.15em;
		background-size:25px auto;
		padding:0 0 5px 0;
		font-size:32px;
	}
	.ft_sns{width:20%; text-align:center; padding:15px;}
}
@media screen and (max-width: 1200px) {
	ul.ft_sns_list li{
	width:30px;
	display:block;
	margin:0 auto 15px;}
}
@media screen and (max-width: 1000px) {
	.footer_inner{flex-wrap: wrap;}
	.ft_about{
		width:100%;
		text-align:center;
		border-right:none;
		border-bottom:1px solid #666;
		margin-bottom:15px;
	}
	.ft_contact{width:60%;}
	.ft_sns{width:40%;}
}
.no-page{
	width:90%;
	margin:0 auto;
	padding:150px 0;
	text-align:center;
}
.no-page p{
	font-size:16px;
	letter-spacing:0.08em;
}
/*　clearfix */
.clearfix:after{
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix{
  min-height: 1px;
}

* html .clearfix{
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
