@charset "utf-8";
/*
Theme Name: ヤマデン
Author: Mr.Fusion
Description: 【2018/03/15】リニューアル
Version: 1.0
*/

@charset "utf-8";

/* PCのみ */
@import url(css/foundation_pc.css) screen and (min-width: 768px);

/* SPのみ */
@import url(css/foundation_sp.css) screen and (max-width: 767px);

/* 共通 */
@import url(css/base.css);
@import url(css/project.css);



/* -----------------------------------------------------------
--------------------------------------------------------------

	PC・SP共通

--------------------------------------------------------------
----------------------------------------------------------- */

/* ==========================================================

	定義

========================================================== */
/* clearfix
===========================================================*/
.clearfix:after {
  content: ""; 
  display: block;
  clear: both;
}


.clear { clear:both;}


/* フォントサイズ
===========================================================*/
.fs10 { font-size:10px;}
.fs11 { font-size:11px;}
.fs12 { font-size:12px;}
.fs13 { font-size:13px;}
.fs14 { font-size:14px;}
.fs15 { font-size:15px;}
.fs16 { font-size:16px;}
.fs17 { font-size:17px;}
.fs18 { font-size:18px;}
.fs19 { font-size:19px;}
.fs20 { font-size:20px;}
.fs21 { font-size:21px;}
.fs22 { font-size:22px;}
.fs23 { font-size:23px;}
.fs24 { font-size:24px;}
.fs25 { font-size:25px;}
.fs26 { font-size:26px;}
.fs28 { font-size:28px;}
.fs30 { font-size:30px;}


/* フォント太さ
===========================================================*/
.fb { font-weight: bold;}
.fn { font-weight: normal;}

.fst-i { font-style:italic;}


/* フォントfamily
===========================================================*/
.ff_roboto { font-family: 'Roboto', sans-serif;}
.ff_sawarabi-min { font-family: "Sawarabi Mincho";}


/* フォントカラー
===========================================================*/
.fc_red { color:#f00;}
.fc_navy { color:#004aa1;}
.fc_gold { color:#cc9211;}
.fc_white { color:#fff;}



/* 背景色
===========================================================*/
.bg_gray { background:#efefef;}
.bg_blue { background:#017dc5;}
.bg_navy { background:#013a71;}
.bg_orange { background:#ff8812;}
.bg_yellow { background:#f4ab21;}
.bg_light-blue { background:#3c9bd3;}
.bg_midnight-blue { background:#162137;}



/* width
===========================================================*/
/* % */
.w100p { width:100%;}


/* display
===========================================================*/
.dpB { display:block;}
.dpI { display:inline;}
.dpIB { display:inline-block;}

.dpN { display:none;}



/* text-align・float
===========================================================*/
.taL { text-align: left;}
.taC { text-align: center;}
.taR { text-align: right;}

.vaT { vertical-align:top;}
.vaM { vertical-align:middle;}
.vaB { vertical-align:bottom;}
.vaBa { vertical-align:baseline;}

.fR { float: right;}
.fL { float: left;}
.clear { clear: both;}

.tdN { text-decoration:none;}


/* margin
===========================================================*/
.m10 { margin:10px;}

.mt05 { margin-top: 5px;}
.mt08 { margin-top: 8px;}
.mt10 { margin-top: 10px;}
.mt15 { margin-top: 15px;}
.mt20 { margin-top: 20px;}
.mt30 { margin-top: 30px;}
.mt40 { margin-top: 40px;}
.mt50 { margin-top: 50px;}
.mt60 { margin-top: 60px;}
.mt70 { margin-top: 70px;}
.mt80 { margin-top: 80px;}

.mb0  { margin-bottom:0;}
.mb05 { margin-bottom: 5px;}
.mb08 { margin-bottom: 8px;}
.mb10 { margin-bottom: 10px;}
.mb12 { margin-bottom: 12px;}
.mb15 { margin-bottom: 15px;}
.mb20 { margin-bottom: 20px;}
.mb25 { margin-bottom: 25px;}
.mb30 { margin-bottom: 30px;}
.mb35 { margin-bottom: 35px;}
.mb40 { margin-bottom: 40px;}
.mb50 { margin-bottom: 50px;}
.mb90 { margin-bottom: 90px;}

.mr05 { margin-right: 5px;}
.mr10 { margin-right: 10px;}
.mr12 { margin-right: 12px;}
.mr15 { margin-right: 15px;}
.mr20 { margin-right: 20px;}
.mr30 { margin-right: 30px;}
.mr35 { margin-right: 35px;}
.mr40 { margin-right: 40px;}

.ml05 { margin-left: 5px;}
.ml10 { margin-left: 10px;}
.ml15 { margin-left: 15px;}
.ml20 { margin-left: 20px;}
.ml30 { margin-left: 30px;}
.ml35 { margin-left: 35px;}
.ml40 { margin-left: 40px;}
.ml50 { margin-left: 50px;}
.ml60 { margin-left: 60px;}
.ml-10 { margin-left: -10px;}

.mrl05 { margin-right: 5px; margin-left: 5px;}
.mrl10 { margin-right: 10px; margin-left: 10px;}
.mrl20 { margin-right: 20px; margin-left: 20px;}
.mrl30 { margin-right: 30px; margin-left: 30px;}
.mrl40 { margin-right: 40px; margin-left: 40px;}
.mrl55 { margin-right: 55px; margin-left: 55px;}
.mrl-10 { margin-right: -10px; margin-left: -10px;}
.mrl-30 { margin-right: -30px; margin-left: -30px;}



/* padding
===========================================================*/
.pt05 { padding-top: 5px;}
.pt10 { padding-top: 10px;}
.pt15 { padding-top: 15px;}
.pt20 { padding-top: 20px;}
.pt25 { padding-top: 25px;}
.pt30 { padding-top: 30px;}
.pt40 { padding-top: 40px;}
.pt50 { padding-top: 50px;}

.pb0  { padding-bottom:0;}
.pb05 { padding-bottom: 5px;}
.pb08 { padding-bottom: 8px;}
.pb10 { padding-bottom: 10px;}
.pb15 { padding-bottom: 15px;}
.pb20 { padding-bottom: 20px;}
.pb30 { padding-bottom: 30px;}
.pb40 { padding-bottom: 40px;}
.pb50 { padding-bottom: 50px;}

.pr05 { padding-right: 5px;}
.pr10 { padding-right: 10px;}
.pr15 { padding-right: 15px;}
.pr20 { padding-right: 20px;}
.pr30 { padding-right: 30px;}

.pl05 { padding-left: 5px;}
.pl10 { padding-left: 10px;}
.pl15 { padding-left: 15px;}
.pl20 { padding-left: 20px;}
.pl30 { padding-left: 30px;}

.prl10 { padding-right:10px; padding-left:10px;}
.prl20 { padding-right:20px; padding-left:20px;}









/* ==========================================================

	コンテンツ（汎用）

========================================================== */
/* UAによる表示切り分け
===========================================================*/
/* パソコン表示 */
@media screen and (min-width: 768px) {
	.sp_on { display:none;}
	.pc_on { display:block;}
}

/* スマホ表示 */
@media screen and (max-width: 767px) {
	.pc_on { display:none;}
	.sp_on { display:block;}
}




/* section
===========================================================*/
/* PC */
@media screen and (min-width: 768px) {
	section { padding-bottom:50px;}
}

/* SP */
@media screen and (max-width: 767px) {
	section { padding-bottom:9vmin}	
}



/* 2カラム
===========================================================*/
/* PC */
@media screen and (min-width: 768px) {
	.column2 {
		display:flex;
		flex-wrap:wrap; justify-content:space-between; align-items:stretch;
	}
	
	.column2 .__text { flex:1;}
}


/* SP */
@media screen and (max-width: 767px) {

}



/* 3カラム
===========================================================*/
.column3 .__box .__title { font-size:15px;}

/* PC */
@media screen and (min-width: 768px) {
	.column3 {
		display:flex;
		flex-wrap:wrap; justify-content:flex-start; align-items:flex-start;
	}
	
	.column3 .__box {
		width:310px;
		margin-bottom:30px; margin-right:35px;
	}
	
	.column3 .__box:nth-of-type(3n) { margin-right:0;}
	
	.column3 .__box .__title { margin-top:10px; margin-bottom:5px;}
	
	.column3 .__box img { width:310px;}
}


/* SP */
@media screen and (max-width: 767px) {
	.column3 .__box { margin-bottom:10px;}
	
	.column3 .__box .__title { margin-top:8px; margin-bottom:3px;}
	
	.column3 .__box img { width:100%;}
	
	.column3 .__box p { margin-bottom:20px;}
}






/* ==========================================================

	コンテンツ（個別箇所）

========================================================== */
/* 反応装置
===========================================================*/
.induce { }

.induce .__text1 {
	position:relative;
	text-align:center;
}

.induce .__text1 p {
	display:inline-block;
	position:relative;
	color:#017dc5;
	font-weight:bold;
}

.induce .__text1 p:before {
	content:'';
	display:block;
	border-left:2px solid #017dc5;
	position:absolute; top:0;
	transform: rotate(-20deg);
}

.induce .__text1 p:after {
	content:'';
	display:block;
	border-right:2px solid #017dc5;
	position:absolute; top:0;
	transform: rotate(20deg);
}

.induce .__block { border:2px solid #017dc5;}

.induce .__text2 { font-weight:bold;}


/* .__area1 */
.induce .__area1 { position:relative;}

.induce .__area1 .__box {
	display:flex;
	flex-wrap:wrap; justify-content:center; align-items:center;
	background:#017dc5;
	color:#fff;
	box-sizing:border-box;
	text-align:center;
	line-height:1.3;
	font-weight:bold;
}

.induce .__area1 .__box p { margin-bottom:0;}

.induce .__area1 .__box1 p:nth-child(2),
.induce .__area1 .__box2 p:nth-child(1),
.induce .__area1 .__box3 p > span:nth-child(1) { color:#ffd300;}

.induce .__area1 .__box1 p:nth-child(2) span:nth-child(1),
.induce .__area1 .__box3 p > span:nth-child(1) { font-family:Arial, Helvetica, sans-serif;}

.induce .__area1 .__box2 p:nth-child(2) {
	font-weight:normal;
	padding-left:1.2em;
	position:relative;
	text-align:left;
}

.induce .__area1 .__box2 p:nth-child(2):before {
	content:'※';
	position:absolute; left:0; top:0;
}

.induce .__area1 .__box3 { position:relative;}


/* .__area2 */
.induce .__area2 {
	background:#017dc5;
	color:#fff;
	text-align:center;
}

.induce .__tel_area p { margin-bottom:0;}

.induce .__btn { line-height:1.2;}



/* PC */
@media screen and (min-width: 768px) {
	.induce { margin-top:50px; margin-bottom:50px;}
	
	.induce .__text1 p { font-size:26px;}
	
	.induce .__text1 p:before,
	.induce .__text1 p:after { height:80%;}
	
	.induce .__text1 p:before { left:-40px;}
	.induce .__text1 p:after { right:-40px;}
	
	.induce .__text2 {
		font-size:28px;
		margin-bottom:5px;
		text-align:center;
		line-height:1.2;
		letter-spacing:0.1em;
	}
	
	/* .__area1 */
	.induce .__area1 { padding:10px 20px 10px 200px;}
	
	.induce .__area1 img {
		position:absolute; left:20px; bottom:10px;
	}
	
	.induce .__area1 .__box_area {
		display:flex;
		justify-content:space-between; align-items:stretch;
	}
	
	.induce .__area1 .__box {
		width:250px;
		padding-top:10px; padding-bottom:10px;
		border-radius:10px;
		line-height:1.3;
		font-weight:bold;
	}
	
	.induce .__area1 .__box1 p:nth-child(1) { font-size:18px;}
	
	.induce .__area1 .__box1 p:nth-child(2) {
		font-size:34px;
		line-height:1.0;
	}
	
	.induce .__area1 .__box1 p:nth-child(2) span:nth-child(1) { font-size:52px;}
	
	.induce .__area1 .__box1 p:nth-child(2) span:nth-child(2) { font-size:26px;}
	
	.induce .__area1 .__box2 p:nth-child(1) {
		font-size:48px;
		position:relative;
		padding-left:28px;
	}
	
	.induce .__area1 .__box2 p:nth-child(1) span {
		width:1em;
		font-size:24px;
		position:absolute; left:0; top:50%;
		margin-top:-1.1em;
		line-height:1.1;
	}
	
	.induce .__area1 .__box2 p:nth-child(2) {
		margin-right:10px; margin-left:10px;
		font-size:13px;
	}
	
	.induce .__area1 .__box3 {
		position:relative;
		padding-top:5px; padding-left:55px; padding-bottom:5px;
		justify-content:flex-start;
	}
	
	.induce .__area1 .__box3 p:nth-child(1) {
		width:1em;
		position:absolute; left:10px; top:50%;
		margin-top:-1.1em;
		line-height:1.1;
		font-size:30px;
	}
	
	.induce .__area1 .__box3 p:nth-child(2) {
		font-size:33px;
		line-height:1.0;
		margin-bottom:5px;
	}
	
	.induce .__area1 .__box3 p > span:nth-child(1) { font-size:52px;}
	
	.induce .__area1 .__box3 p:nth-child(3) {
		display:flex;
		justify-content:flex-start; align-items:center;
		line-height:1.0;
		text-align:left;
	}
	
	.induce .__area1 .__box3 p:nth-child(3) span:nth-child(2) { font-size:24px;}
	
	.induce .__area1 .__box3 p:nth-child(3) span:nth-child(2) span { display:block; font-size:17px;}
	
	/* .__area2 */
	.induce .__area2 {
		padding-top:10px; padding-bottom:7px;
		display:flex;
		align-items:center; justify-content:center;
	}
	
	.induce .__tel_area {
		font-weight:bold;
	}
	
	.induce .__tel_area p:nth-child(1) { font-size:20px;}
	.induce .__tel_area p:nth-child(3) { font-size:15px; font-weight:normal;}
	
	.induce .__tel_area .__tel {
		font-size:50px;
		line-height:1.0;
		font-family:'Roboto';
	}
	
	.induce .__tel .fa-phone { font-size:40px; margin-right:5px;}
	
	.induce .__btn {
		display:flex;
		flex-wrap:wrap; justify-content:space-between; align-items:stretch;
		width:396px;
		margin-left:20px;
	}
	
	.induce .__btn a {
		width:190px;
		margin-left:6px;
		padding:10px 10px 8px;
		box-sizing:border-box;
		border-radius:4px;
		color:#fff;
		font-size:16px;
		text-align:center;
		text-decoration:none;
		display:flex;
		justify-content:center; align-items:center;
	}
	
	.induce .__btn a:first-child {
		width:390px;
		margin-bottom:6px;
		padding:14px 10px 12px;
		font-size:24px;
	}
	
	.induce .fa-yen { font-size:30px; margin-right:20px;}
	
	.induce .fa-clipboard { font-size:26px; margin-right:10px;}
	
	.induce .fa-envelope { font-size:20px; margin-right:10px;}
	
}


/* SP */
@media screen and (max-width: 767px) {
	.induce { margin-top:6vmin; margin-bottom:6vmin;}
	
	.induce .__text1 p { font-size:5vmin; margin-bottom:2vmin;}
	
	.induce .__text1 p:before,
	.induce .__text1 p:after { height:100%;}
	
	.induce .__text1 p:before { left:-6vmin;}
	.induce .__text1 p:after { right:-6vmin;}
	
	
	/* .__area1 */
	.induce .__area1 { padding:2.6vmin 2.6vmin 2vmin;}
	
	.induce .__area1 img {
		width:22.3vmin;
		position:absolute; left:2.6vmin; top:2.6vmin;
	}
	
	.induce .__area1 .__text2 {
		margin-top:2vmin;
		padding-left:25vmin;
		font-size:4.8vmin;
		line-height:1.5;
	}
	
	.induce .__area1 .__box {
		width:100%;
		margin-bottom:2.6vmin;
		padding-top:2.6vmin; padding-bottom:2.3vmin;
		border-radius:2vmin;
		line-height:1.3;
		font-weight:bold;
	}
	
	.induce .__area1 .__box1 p:nth-child(2) {
		font-size:8vmin;
		line-height:1.0;
		margin-left:2vmin;
	}
	
	.induce .__area1 .__box1 p:nth-child(2) span:nth-child(1) { font-size:13vmin;}
	
	.induce .__area1 .__box1 p:nth-child(2) span:nth-child(2) { font-size:6.4vmin;}
	
	.induce .__area1 .__box2  {
		display:flex;
		justify-content:space-between; align-items:center;
		padding-left:2vmin; padding-right:2vmin;
	}
	
	.induce .__area1 .__box2 p:nth-child(1) {
		font-size:9vmin;
		position:relative;
		padding-top:1vmin; padding-left:6.4vmin;
	}
	
	.induce .__area1 .__box2 p:nth-child(1) span {
		width:1em;
		font-size:4.7vmin;
		position:absolute; left:0; top:50%;
		margin-top:-1.0em;
		line-height:1.1;
	}
	
	.induce .__area1 .__box2 p:nth-child(2) {
		flex:1;
		margin-left:2.6vmin;
		font-size:3.2vmin;
	}
	
	.induce .__area1 .__box3 p:nth-child(1) {
		width:1em;
		margin-right:2.6vmin;
		line-height:1.1;
		font-size:6.2vmin;
	}
	
	.induce .__area1 .__box3 p:nth-child(2) {
		display:flex;
		justify-content:flex-start; align-items:center;
		margin-right:2.6vmin;
		font-size:6.4vmin;
		line-height:1.0;
	}
	
	.induce .__area1 .__box3 p > span:nth-child(1) { font-size:14vmin; margin-right:1vmin;}
	
	.induce .__area1 .__box3 p:nth-child(3) {
		display:flex;
		justify-content:flex-start; align-items:center;
		line-height:1.0;
		text-align:left;
	}
	
	.induce .__area1 .__box3 p:nth-child(3) span:nth-child(2) { font-size:6.8vmin;}
	
	.induce .__area1 .__box3 p:nth-child(3) span:nth-child(2) span {
		display:block;
		font-size:4.3vmin;
	}
	
	/* .__area2 */
	.induce .__area2 { padding:2.8vmin 2.6vmin 2.4vmin;}
	
	.induce .__tel_area p:nth-child(1) { font-size:5vmin}
	.induce .__tel_area p:nth-child(3) { font-size:4.2vmin; font-weight:normal;}
	
	.induce .__tel_area .__tel {
		font-size:11vmin;
		line-height:1.0;
		font-family:'Roboto';
	}
	
	.induce .__tel .fa-phone { font-size:10vmin; margin-right:2vmin;}
	
	.induce .__btn {
		display:flex;
		flex-wrap:wrap; justify-content:space-between; align-items:stretch;
		margin-top:2.6vmin;
	}
	
	.induce .__btn a {
		width:calc(50% - 1vmin);
		padding:2.6vmin 2.6vmin 2.3vmin;
		box-sizing:border-box;
		border-radius:4px;
		color:#fff;
		text-align:center;
		text-decoration:none;
		display:flex;
		justify-content:center; align-items:center;
	}
	
	.induce .__btn a:first-child {
		width:100%;
		margin-bottom:2vmin; margin-left:0;
		padding:2.9vmin 2.6vmin 2.6vmin;
		font-size:6vmin;
	}
		
	.induce .fa-yen { font-size:8.3vmin; margin-right:5.2vmin;}
	
	.induce .fa-clipboard { font-size:7.3vmin; margin-right:2.6vmin;}
	
	.induce .fa-envelope { font-size:5.5vmin; margin-right:2.6vmin;}
}
	




/* Google MAP ・　YouTube
===========================================================*/
/* SP */
@media screen and (max-width: 767px) {
	.google_map iframe { width:100%; height:220px;}
	
	.youtube iframe { width:100%; height:220px;}
}


/* ページ紹介文
===========================================================*/
.summary { }


/* PC */
@media screen and (min-width: 768px) {
	.summary {
		margin-top:30px; margin-bottom:60px;
		text-align:center;
	}
	
	.summary p { font-size:16px;}
}

/* SP */
@media screen and (max-width: 767px) {
	.summary { margin:20px 10px;}
	
	.summary p { font-size:15px;}
}



/* タブ
===========================================================*/
.tab {
	margin-bottom:0;
	border-bottom:1px solid #aaa;
	display:flex;
	justify-content:flex-start; align-items:stretch;
}

.tab li {
	text-align:center;
	border:1px solid #aaa; border-bottom:none;
	border-radius:4px 4px 0 0;
	background:#004a95;
	color:#fff;
	font-weight:bold;
}

.tab li.on {
	background:#fff;
	color:#000;
	padding-top:13px;
	position:relative; top:1px;
}

/* PC */
@media screen and (min-width: 768px) {
	.tab li {
		width:160px;
		margin-right:10px;
		padding:12px 20px 6px;
		font-size:18px;
	}
	
	.tab li:hover { cursor:pointer;}
}

/* SP */
@media screen and (max-width: 767px) {
	.tab li {
		margin-right:5px;
		padding:12px 20px 6px;
	}
}



/* 課題解決事例（パーツ）
===========================================================*/
.solving_list ul {
	display:flex;
	flex-wrap:wrap; align-items:stretch;
}

.solving_list li {
	border:2px solid #017dc5;
	background:#fff;
	position:relative;
}

.solving_list li a {
	text-decoration:none;
	color:#1e1e64;
}

.solving_list li a span {
	display:block;
	line-height:1.4;
}


/* PC */
@media screen and (min-width: 768px) {
	.solving_list .wrapper { padding-top:50px; padding-bottom:50px;}
	
	.solving_list li {
		width:320px;
		box-sizing:border-box;
		margin-right:20px; margin-bottom:20px;
	}
	
	.solving_list li:nth-child(3n) { margin-right:0;}
	
	.solving_list li:after {
		content:'';
		width:0; height:0;
		border: 10px solid transparent;
		border-right: 10px solid #017dc5;
		border-bottom: 10px solid #017dc5;
		position:absolute; bottom:0; right:0;
	}
	
	.solving_list li a {
		display:block;
		padding:20px;
	}
	
	.solving_list li a span { margin-top:10px; font-size:16px;}
	
	.solving_list .__thumb {
		width:280px; height:170px;
		border:1px solid #ccc;
		position:relative;
	}
	
	.solving_list .__thumb img {
		max-width:280px; max-height:170px;
		position:absolute; top: 0; left: 0; right: 0; bottom: 0;
		margin:auto;
	}
	
	.solving_list .__thumb .__logo { width:200px;}
}

/* SP */
@media screen and (max-width: 767px) {
	.solving_list .wrapper { padding-top:30px; padding-bottom:30px;}
	
	.solving_list li {
		width:calc(50% -  1.4vmin);
		margin-right:2.6vmin; margin-bottom:2.6vmin;
		box-sizing:border-box;
	}
	
	.solving_list li:nth-child(2n) { margin-right:0;}
	
	.solving_list li:after {
		content:'';
		width:0; height:0;
		border: 7px solid transparent;
		border-right: 7px solid #017dc5;
		border-bottom: 7px solid #017dc5;
		position:absolute; bottom:0; right:0;
	}
	
	.solving_list li a {
		display:block;
		box-sizing:border-box;
		padding:2.7vmin;
	}
	
	.solving_list li a span { margin-bottom:10px;}
	
	.solving_list .__thumb {
		width:calc(100% - 2px); height:25vmin;
		margin-bottom:2vmin;
		border:1px solid #ccc;
		position:relative;
	}
	
	.solving_list .__thumb img {
		max-width:100%; max-height:100%;
		position:absolute; top: 0; left: 0; right: 0; bottom: 0;
		margin:auto;
	}
	
	.solving_list .__thumb .__logo { width:calc(100% - 4vmin);}
}







/* パンくず
===========================================================*/
.breadcrumb {
	padding-top:10px;
	margin-bottom:50px;
	line-height:1;
}

.breadcrumb li {
	display:inline-block;
	font-size:12px;
}

.breadcrumb li:before {
	content:'\003E';
	margin-left:10px;
	padding-right:10px;
}

.breadcrumb li:first-child:before {
	content:normal;
}

.breadcrumb li a {
	text-decoration:none;
	color:inherit;
}




/* ページネーション
===========================================================*/
.pagination {
	padding-top:20px; padding-bottom:48px;
	text-align:center;
}

.page-numbers {
	display:inline-block;
	width:30px;
	margin-right:3px; margin-left:3px;
	padding-top:6px; padding-bottom:4px;
	font-size:16px;
	text-align:center;
	vertical-align:middle;
	background:#9d9e9e;
	border:1px solid #9d9e9e;
	color:#fff;
	line-height:24px;
}

.pagination a { text-decoration:none;}
.pagination a:hover { opacity:0.8; filter:alpha(opacity=80);}

.pagination .current {
	background:#fff;
	color:#666;
}

.pagination .next { margin-left:20px;}
.pagination .prev { margin-right:20px;}



/* 前の記事・次の記事 */
.prev_next {
	margin-top:70px; margin-bottom:10px;
	position:relative;
	display:flex;
	flex-wrap:wrap; justify-content:space-between; align-items:center;
}

.prev_next a {
	display:block;
	padding-top:14px; padding-bottom:10px;
	text-decoration:none;
	color:inherit;
	position:relative;
	font-size:16px;
}

.prev_next .__prev a { padding-left:20px;}
.prev_next .__next a { padding-right:20px;}

.prev_next .__prev a:before {
	content:'';
	width:0; height:0;
	border-top:6px solid transparent;
	border-right:8px solid #000;
	border-bottom:6px solid transparent;
	border-left:0 solid transparent;
	position:absolute; left:0; top:50%;
	margin-top:-6px;
}

.prev_next .__next a:before {
	content:'';
	width:0; height:0;
	border-top:6px solid transparent;
	border-right:0 solid transparent;
	border-bottom:6px solid transparent;
	border-left:8px solid #000;
	position:absolute; right:0; top:50%;
	margin-top:-6px;
}

/* PC */
@media screen and (min-width: 768px) {
	.prev_next { margin-top:70px; margin-bottom:10px;}

	.prev_next .btn_type01 {
		width:300px;
		position:absolute; top:0; left:50%;
		margin-left:-150px;
		color:#fff;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.prev_next {
		margin-top:20px; margin-bottom:10px;
		padding-bottom:55px;
	}
	
	.prev_next .btn_type01 {
		width:300px;
		position:absolute; bottom:0; left:50%;
		margin-left:-150px;
		color:#fff;
	}
}






/* フォーム
===========================================================*/
.form .title01 { color:inherit;}

.form .wpcf7-validation-errors { color:#a80000;}

/* PC */
@media screen and (min-width: 768px) {
	.form .wpcf7-validation-errors,
	.wpcf7c-elm-step2 {
		margin-bottom:40px;
		padding-top:8px;
		text-align:center;
		font-size:18px;
		font-weight:bold;
		background:#fff;
	}
	
	.form .wpcf7-validation-errors { border:3px solid #a80000;}
}

/* SP */
@media screen and (max-width: 767px) {
}


/* form-flow（フォームの流れ）
=======================================*/
#form-flow {
	display:flex;
	flex-wrap:wrap; justify-content:center; align-items:stretch;
}

#form-flow p,
.custom-wpcf7c-confirmed #form-flow.f_input p:nth-child(1) {
	margin-bottom:0;
	border:solid 2px #004aa1;
	color:#004aa1;
	background:#fff;
	display:flex;
	flex-wrap:wrap; justify-content:center; align-items:center;
	position:relative;
}

#form-flow p:after,
.custom-wpcf7c-confirmed #form-flow.f_input p:nth-child(1):after {
	content:'';
	width:0; height:0;
	border-top:8px solid transparent;
	border-right:0 solid transparent;
	border-bottom:8px solid transparent;
	border-left:8px solid #004aa1;
	position:absolute; top:50%;
	margin-top:-5px;
}

#form-flow p:last-child { margin-right:0;}

#form-flow p:last-child:after { content:normal;}

#form-flow.f_input p:nth-child(1),
#form-flow.f_conf p:nth-child(2),
#form-flow.f_thanks p:nth-child(3),
.custom-wpcf7c-confirmed #form-flow p:nth-child(2) {
	background:#004aa1;
	color:#fff;
}

/* PC */
@media screen and (min-width: 768px) {
	#form-flow { margin-top:60px; margin-bottom:60px;}
	
	#form-flow p {
		width:260px;
		margin-right:40px;
		padding-top:18px; padding-bottom:16px;
		font-size:15px;
	}
	
	#form-flow p:after { right:-26px;}
	
	#form-flow p span:first-child { margin-right:20px;}

}

/* SP */
@media screen and (max-width: 767px) {
	#form-flow { margin-top:30px; margin-bottom:30px;}
	
	#form-flow p {
		width:27%;
		margin-right:20px;
		padding-top:8px; padding-bottom:6px;
		font-size:13px;
		line-height:1.3;
		flex-direction:column;
	}

	#form-flow p:after { right:-17px;}
}


/* wpcf7c-pressed（「ボタンを押してください」テキスト）
=======================================*/
/* PC */
@media screen and (min-width: 768px) {
	.wpcf7c-pressed { text-align:center;}
}

/* SP */
@media screen and (max-width: 767px) {

}



/* table
=======================================*/
.form table {
	width:100%;
	margin-bottom:20px;
	font-size:15px;
}

.form th,
.form td { border:solid 1px #ccc;}

.form th { background:#f9f9f9; font-weight:bold;}

.form td { background:#fff;}

/* 必須・任意 */
.form form .ind,
.form form .any {
	color:#fff;
	display:inline-block;
	padding:2px 8px 0;
	margin-right:10px;
	border-radius:3px;
	font-size:11px;
	font-weight:normal;
	vertical-align:middle;
}

.form form .ind { background:#e60000;}
.form form .any { background:#688cc3;}

.form form td .ind,
.form form td .any { position:static;}

.form form td input {
	margin-right:15px;
	padding:5px;
	font-size:16px;
	border:1px solid #ccc;
	-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
}

.form form td input[type="radio"],
.form form td input[type="checkbox"] {
	width:20px; height:20px;
	margin-right:5px;
	vertical-align:bottom;
	position:relative; top:-1px;
}

.wpcf7-list-item label:first-child input[type="radio"] { margin-left:0;}

.form form td input[type="checkbox"] {
	position:relative; top:-2px;
	vertical-align:middle;
}

.form form td input[type="date"],
.form form td .calendar { width:180px;}

.form form td select {
	font-size:16px;
	border:1px solid #ccc;
}

.form form td textarea {
	width:100%;
	box-sizing:border-box;
	border:1px solid #ccc;
}


/* PC */
@media screen and (min-width: 768px) {
	.form table { margin-top:30px;}
	
	.form th {
		width:250px;
		padding:16px 20px 13px 70px;
		text-align:left;
		position:relative;
	}
	
	.form td {
		padding:15px 20px 12px;
		position:relative;
	}
	
	.form form td input {
		width:500px;
		padding:14px 20px;
	}
	
	.form form td input[type="date"] { padding:10px; position:relative; top:-4px;}
	
	.form form .__birthday span:first-of-type input { width:140px;}
	
	.form form .__birthday input { width:100px;}
	
	.form form td select { padding-top:15px; padding-bottom:12px; padding-left:20px;}
	
	.form form td textarea {
		height:215px;
		padding:15px 20px 12px;
	}
	
	/* 必須・任意 */
	.form form .ind,
	.form form .any { position:absolute; top:17px; left:20px;}
	
	/* 個人情報保護方針 */
	.form .__privacy_policy {
		width:100%; height:140px;
		margin-bottom:20px;
		padding:10px;
		box-sizing:border-box;
		overflow-y:scroll;
		font-size:14px;
		border:1px solid #ccc;
	}
	
	.form .__privacy_policy th,
	.form .__privacy_policy td { padding:10px;}
	
	.form .__privacy_policy th { width:5.3em;}

}

/* SP */
@media screen and (max-width: 767px) {
	.form table,
	.form tbody,
	.form tr,
	.form th,
	.form td { display:block;}
	
	.form th,
	.form td {
		padding:10px 15px 8px;
	}
	
	.form table { border-top:1px solid #ccc; }
	
	.form th {
		text-align:left;
		border-top:none; border-bottom:none;
	}
	
	.form td {
		padding-bottom:10px;
	}
	
	
	/* 必須・任意 */
	.form form .ind,
	.form form .any { position:relative; top:-2px;}
	
	/* input */
	.form form td input {
		width:100%;
		padding:12px 10px 10px;
		-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
		font-size:16px;
	}
	.form form td input[type="radio"],
	.form form td input[type="checkbox"] {
		width:inherit;
		padding:0;
		margin:0 5px 0 0;
	}
	
	.form form td input[type="checkbox"] {
		width:20px; height:20px;
		margin-right:8px;
		background:#fff;
	}
	
	.form form td input[type="date"] { margin-bottom:5px;}
	
	.form form label {
		margin-bottom:8px; margin-right:10px;
		display:inline-block;
		font-size:16px;
	}
	
	/* placeholder */
	input::-webkit-input-placeholder,
	input:-ms-input-placeholder,
	input::-moz-placeholder { color:#aaa;}
	
	
	/* textarea */
	.form form td textarea {
		padding:12px 10px 10px;
		font-size:16px;
	}
	
	.form form td select {
		width:100%;
		padding:12px 10px 10px;
		-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;
		font-size:16px;
	}
	
	/* 個人情報保護方針 */
	.form .__privacy_policy {
		width:100%; height:100px;
		margin-bottom:10px;
		padding:10px;
		box-sizing:border-box;
		overflow-y:scroll;
		font-size:14px;
		border:1px solid #ccc;
	}
	
	.form .__privacy_policy th,
	.form .__privacy_policy td { padding:10px;}

}



/* table（ご住所）
=======================================*/
.form .addr table th,
.form .addr table td { border:none;}

.form .addr table th {
	padding-left:0;
	background:none;
}

/* PC */
@media screen and (min-width: 768px) {
	.form .addr p {
		margin-bottom:0;
	}
	
	.form .addr table { margin-top:10px; margin-bottom:0;}
	
	.form .addr table th { vertical-align:middle;}
	
	.form .addr table td { padding-left:0;}
	
	.form .addr table input { width:450px;}
	
	.form .addr table .zip input { width:200px;}
}

/* SP */
@media screen and (max-width: 767px) {

}



/* 希望日時
=======================================*/
.request_date div { margin-bottom:20px;}

/* PC */
@media screen and (min-width: 768px) {
	.request1_date,
	.request1_time { position:relative;}
	
	.request1_date .wpcf7-not-valid-tip,
	.request1_time .wpcf7-not-valid-tip {
		font-size:11px;
		position:absolute; left:0; top:40px;
	}
}

/* SP */
@media screen and (max-width: 767px) {

}



/* 確認画面
=======================================*/
.form .wpcf7c-conf {
	border:none;
	background:#efefef;
	color:#333;
}

/* 確認画面でプレースホルダ―が見えないようにする */
.form input[readonly='readonly']:-ms-input-placeholder{ opacity: 0; }
.form input[readonly='readonly']::-moz-input-placeholder{ opacity: 0; }
.form input[readonly='readonly']::-webkit-input-placeholder{ opacity: 0; }


/* SP */
@media screen and (max-width: 767px) {
	wpcf7c-elm-step2 {
		background:#fff;
		border:1px solid #f00;
		color:#f00;
	}
}




/* 完了画面
=======================================*/
/* PC */
@media screen and (min-width: 768px) {
	.thanks { text-align:center;}
}

/* SP */
@media screen and (max-width: 767px) {
}

/* ボタン
=======================================*/
.form .btn_form { text-align:center;}

.form .btn_home,
.form .btn_form input[type="submit"],
.form .btn_form input[type="button"] {
	border:none;
	display:inline-block;
	line-height:48px;
	margin-top:10px;
	cursor:pointer;
	font-size:16px;
	text-decoration:none;
	border-radius:4px;
	-webkit-appearance: none; /* iPone対策 */
}

.form .btn_form button[type="submit"]:hover,
.form .btn_form input[type="button"]:hover { opacity:0.8; filter:alpha(opacity=80);}

.wpcf7-confirm,
.wpcf7-submit {
	display:inline-block;
	width:280px;
	padding:5px 15px 3px 10px;
	background:#ffa000;
	color:#fff;
	text-align:center;
}

.wpcf7-back,
.btn_home {
	display:inline-block;
	width:280px;
	padding:5px 10px 3px 15px;
	background:#999;
	color:#fff;
	text-align:center;
}

.wpcf7-back { margin-right:60px;}


/* SP */
@media screen and (max-width: 767px) {
	.form .btn_form { margin-left:16px;}
	
	.wpcf7-confirm { width:200px;}
	
	.wpcf7-submit,
	.wpcf7-back { width:125px;}
	
	.wpcf7-back { margin-right:14px;}
	
	.btn_home {
		width:200px;
		margin-right:0;
	}

}












/* ==========================================================

	パーツ

========================================================== */
/* table
===========================================================*/
/* table_type
=======================================*/
/* th白・tdグレー */
.table_type01,
.table_type01_pss { width:100%;}

.table_type01 th,
.table_type01 td,
.table_type01_pss th,
.table_type01_pss td {
	padding:10px 12px 8px;
	border:1px solid #ccc;
}

.table_type01 th { background:#f5f6f6; font-weight:bold;}

.table_type01 td { background:#fff;}

/* SP */
@media screen and (max-width: 767px) {
	.table_type01,
	.table_type01 tbody,
	.table_type01 tr,
	.table_type01 th,
	.table_type01 td { display:block;}
	
	.table_type01 th,
	.table_type01 td { border-top:0;}
	
	.table_type01 tr:first-child th { border-top:1px solid #ccc;}
	
	.table_type01 th {
		padding:7px 12px 5px;
		border-bottom:1px solid #ececec;
		text-align:left;
	}
}


/* th青・td白 */
.table_type02 { width:100%;}

.table_type02 th,
.table_type02 td {
	padding:12px 12px 10px;
	border-top:1px solid #ccc; border-bottom:1px solid #ccc;
}

.table_type02 th {
	color:#027abc;
}

.table_type02 td { background:#fff;}

/* SP */
@media screen and (max-width: 767px) {
	.table_type02,
	.table_type02 tbody,
	.table_type02 tr,
	.table_type02 th,
	.table_type02 td { display:block;}
	
	.table_type02 { border-bottom:1px solid #ccc;}
	
	.table_type02 th,
	.table_type02 td {
		border-bottom:none;
	}
	
	.table_type02 th {
		padding:2.6vmin 2.6vmin 0.5vmin;
		text-align:left;
	}
	
	.table_type02 td {
		padding:0.5vmin 2.6vmin 2.4vmin;
		border-top:none;
	}
}


/* font-weight
=======================================*/
.thfb th,
.tdfb td,
.thdfb th,
.thdfb td { font-weight:bold;}

.thfn th,
.tdfn td,
.thdfn th,
.thdfn td { font-weight:normal;}


/* verticla
=======================================*/
.th_vam th,
.td_vam td,
.thd_vam th,
.thd_vam td { vertical-align:middle;}


/* text-align
=======================================*/
.th_taL th,
.td_taL td,
.thd_taL th,
.thd_taL td { text-align:left;}

.th_taC th,
.td_taC td,
.thd_taC th,
.thd_taC td { text-align:center;}

.th_taR th,
.td_taR td,
.thd_taR th,
.thd_taR td { text-align:right;}


/* width
=======================================*/
.th_w200 th,
.td_w200 td { width:200px;}






/* ul・ol
===========================================================*/
/* list-style
=======================================*/
.ls_disc { list-style-type:disc; margin-left:1.5em;}

.ls_num { list-style-type:decimal; margin-left:1.5em;}


/* ※ */
.ls_note li { padding-left:20px; position:relative;}

.ls_note li:before {
	content:'※';
	position:absolute; left:0; top:0;
}

/* チェック */
/* PC */
@media screen and (min-width: 768px) {
	.ls_check li { padding-left:30px; position:relative;}

	.ls_check li:before {
		display:block;
		content:'';
		width:14px; height:14px;
		border:2px solid #231815;
		position:absolute; left:0; top:6px;
	}
	
	.ls_check .fa-check {
		color:#f00;
		font-size:25px;
		position:absolute; top:1px; left:1px;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.ls_check li { padding-left:26px; position:relative;}

	.ls_check li:before {
		display:block;
		content:'';
		width:12px; height:12px;
		border:1px solid #231815;
		position:absolute; left:0; top:6px;
	}
	
	.ls_check .fa-check {
		color:#f00;
		font-size:20px;
		position:absolute; top:1px; left:1px;
	}
}

/* （1） */
.ls_custom li { padding-left:3.3em; position:relative;}

.ls_custom li span {
	display:inline-block;
	width:3em;
	text-align:center;
	position:absolute; left:0; top:0;
}




/* タイトル
===========================================================*/
/* ページタイトル
============================================*/
.title_page {
	position:relative;
	text-align:center;
}

.title_page:after {
	content:'';
	display:block;
	width:30px;
	border-bottom:2px solid #007ac3;
	position:absolute; left:50%; bottom:0;
	margin-left:-15px;
}

.title_page span { display:block;}


/* PC */
@media screen and (min-width: 768px) {
	.title_page {
		margin-bottom:40px;
		padding-bottom:15px;
	}
	
	.title_page .__jp { font-size:30px;}
}

/* SP */
@media screen and (max-width: 767px) {
	.title_page {
		margin-bottom:30px;
		padding-bottom:10px;
	}
	
	.title_page .__jp { font-size:6.7vmin;}
}


/* ページタイトル（上margin調整）
============================================*/
/* PC */
@media screen and (min-width: 768px) {

}

/* SP */
@media screen and (max-width: 767px) {
	.title_mutual { margin-top:18px;}
}


/* title01～
============================================*/
/*===== 青背景　白文字 =====*/
.title01 {
	background:#017dc5;
	color:#fff;
}


/* PC */
@media screen and (min-width: 768px) {
	.title01 {
		margin-bottom:30px;
		padding:10px 10px 7px;
		font-size:26px;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.title01 {
		font-size:5.7vmin;
		margin-bottom:4.5vmin;
		padding:2vmin 2.6vmin 1.2vmin;
	}
}


/*===== 下・左　青ボーダー =====*/
.title02 {
	position:relative;
	border-bottom:2px solid #007ac3;
	line-height:1.4;
}

.title02:before {
	content:'';
	display:block;
	border-left:5px solid #007ac3;
	position:absolute; left:0; top:-2px;
}


/* PC */
@media screen and (min-width: 768px) {
	.title02 {
		font-size:24px;
		margin-bottom:20px;
		padding-bottom:12px;
		padding-left:20px;
	}
	
	.title02:before {
		height:calc(100% - 15px);
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.title02 {
		font-size:5vmin;
		margin-bottom:5vmin;
		padding-left:3vmin;
		padding-bottom:0.8vmin;
	}
	
	.title02:before {
		height:calc(100% - 0.8vmin);
	}
}


/*===== 青文字　グレーボーダー =====*/
.title03 {
	color:#027abb;
	border-bottom:1px solid #231815;
	line-height:1.4;
}

/* PC */
@media screen and (min-width: 768px) {
	.title03 {
		margin-bottom:20px;
		font-size:22px;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.title03 {
		margin-bottom:10px;
		font-size:4.8vmin;
	}
}


/*===== 左青● =====*/
.title04 {
	position:relative;
	
}

.title04:before {
	content:'●';
	color:#027abb;
	position:absolute; top:0; left:0;
}

/* PC */
@media screen and (min-width: 768px) {
	.title04 {
		margin-bottom:10px;
		padding-left:30px;
		font-size:22px;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.title04 {
		margin-bottom:2vmin;
		padding-left:5vmin;
		font-size:4.3vmin;
	}
}





/* リンク
===========================================================*/
.link_type01 {
	position:relative;
	padding-right:26px;
	text-decoration:none;
	color:inherit;
}

.link_type01:before {
	content:'';
	display:block;
	background:#004985;
	width:15px; height:15px;
	border-radius:14px;
	position:absolute; right:0; top:50%;
	margin-top:-8px;
}

.link_type01:after {
	content:'';
	display:block;
	width:4px; height:4px;
	border-top:1px solid #fff; border-right:1px solid #fff;
	transform: rotate(45deg);
	position:absolute; right:6px; top:50%;
	margin-top:-3px;
}





/* ボタン
===========================================================*/
/*===== btn_down =====*/
.btn_down {
	display:block;
	background:#a80000;
	width:30px; height:30px;
	border-radius:15px;
	position:absolute; left:50%; bottom:-44px;
	margin-left:-14px;
	position:relative;
}

.btn_down:after {
	content:'';
	display:block;
	width:7px; height:7px;
	border-bottom:2px solid #fff; border-left:2px solid #fff;
	transform: rotate(-45deg);
	position:absolute; left:50%; top:50%;
	margin-left:-4px; margin-top:-5px;
}


/*===== btn_type01 =====*/
.btn_type01 {
	display:inline-block;
	box-sizing:border-box;
	color:#fff;
	text-align:center;
	text-decoration:none;
	border-radius:4px;
	position:relative;
}

/* PC */
@media screen and (min-width: 768px) {
	.btn_type01 {
		padding:14px 40px 12px 20px;
		font-size:16px;
	}
	
	.btn_type01:after {
		content: '';
		display: block;
		width: 7px; height: 7px;
		border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(-45deg);
		position: absolute; right:14px; top: 50%;
		margin-top: -4px;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	.btn_type01 { padding:12px 30px 9px 20px;}
	
	.btn_type01:after {
		content: '';
		display: block;
		width: 5px; height: 5px;
		border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(-45deg);
		position: absolute; right:14px; top: 50%;
		margin-top: -3px;
	}
}


/* ボーダー
===========================================================*/
.bd_s1gray_tb { border-top:solid 1px #ccc; border-bottom:solid 1px #ccc;}



/* ボックス
===========================================================*/
/* box01 */
.box01 {
}

