/* --------------------------------------------------
    reset
-------------------------------------------------- */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
object,
iframe,
pre,
code,
p,
blockquote,
form,
fieldset,
legend,
table,
th,
td,
caption,
tbody,
tfoot,
thead,
article,
aside,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
audio,
video,
canvas,
main {
	margin: 0;
	padding: 0;
}

article,
aside,
figure,
figcaption,
footer,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
menu,
nav,
section,
main {
	display: block;
}

body {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.7;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
	color: #333;
}

body,
.wpcf7 input,
.wpcf7 textarea {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 100%;
}

.serif {
	font-family: 'Noto Serif JP', serif;
}


/* --------------------------------------------------
  制作：色指定 #〜を変更
-------------------------------------------------- */
h2.style2a span,
h3.style3a,
.sidebar-box h2.widget-title {
	color: #024699 !important;
}

.sidebar-box h2.widget-title {
	border-bottom: 2px solid #024699 !important;
}

h3.style3a:before,
.more01 a {
	background: #024699 !important;
}

h2.style2a:before {
	background-color: #024699 !important;
}




/* --------------------------------------------------
  共通
-------------------------------------------------- */
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

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

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}

.aligncenter {
	display: block;
	margin: 0 auto;
}

.alignright {
	float: right;
}

.alignleft {
	float: left;
}

img[class*="wp-image-"],
img[class*="attachment-"] {
	max-width: 100%;
	height: auto;
}


/* --------------------------------------------------
  リンク・Pフォント設定
-------------------------------------------------- */
a {
	color: #4b83ad;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

a:hover {
	opacity: 0.8;
}

a:visited {
	color: #4b83ad;
}

p {
	font-size: 14px;
	font-size: 16px;
	color: #333;
	font-weight: 500;
	line-height: 2.0;
}



.marker {
	background: linear-gradient(transparent 45%, #ddeeff 45%);
	display: inline;
}

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

.fontsize12 {
	font-size: 12px;
}

.fontsize13 {
	font-size: 13px;
}

.fontsize16 {
	font-size: 16px;
}

.fontsize18 {
	font-size: 18px;
}

.fontsize20 {
	font-size: 20px;
}

.fontsize22 {
	font-size: 22px;
}

.fontsize24 {
	font-size: 22px;
}

.font-weight-700 {
	font-weight: 700;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	p {
		font-size: 14px;
		line-height: 1.7;
	}
}

/* --------------------------------------------------
  カスタマイズ：カラー設定
-------------------------------------------------- */
.main-color {
	color: #0063c9;
}

.sub-color {
	color: #0063c9;
}

.bg-color {
	color: #0063c9;
}

/* --------------------------------------------------
  カラー設定
-------------------------------------------------- */
.color-white {
	color: #fff;
}

.color-red {
	color: #e04848;
}

.color-blue {
	color: #0063c9;
}


/* --------------------------------------------------
  ul li
-------------------------------------------------- */
li {
	list-style: none;
}

ul.list-style-disc {
	padding-left: 20px;
}

ul.list-style-disc li {
	list-style-type: disc;
}

/* --------------------------------------------------
  text-align
-------------------------------------------------- */
.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.text-left {
	text-align: left;
}

.align-items-center {
	-webkit-box-align: center !important;
	-ms-flex-align: center !important;
	align-items: center !important;
}

.d-flex {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

/* --------------------------------------------------
  img
-------------------------------------------------- */
img {
	max-width: 100%;
	height: auto;
}

.img-width {
	width: 100%;
	height: auto;
}


/* --------------------------------------------------
  padding
-------------------------------------------------- */
/*pt ---------------------------------------------*/
.pt10 {
	padding-top: 10px;
}

.pt20 {
	padding-top: 20px;
}

.pt30 {
	padding-top: 30px;
}

.pt40 {
	padding-top: 40px;
}

.pt50 {
	padding-top: 50px;
}

.pt60 {
	padding-top: 60px;
}

.pt70 {
	padding-top: 70px;
}

.pt80 {
	padding-top: 80px;
}

.pt90 {
	padding-top: 90px;
}

.pt100 {
	padding-top: 100px;
}

/*pb ---------------------------------------------*/
.pb10 {
	padding-bottom: 10px;
}

.pb20 {
	padding-bottom: 20px;
}

.pb30 {
	padding-bottom: 30px;
}

.pb40 {
	padding-bottom: 40px;
}

.pb50 {
	padding-bottom: 50px;
}

.pb60 {
	padding-bottom: 60px;
}

.pb70 {
	padding-bottom: 70px;
}

.pb80 {
	padding-bottom: 80px;
}

.pb90 {
	padding-bottom: 90px;
}

.pb100 {
	padding-top: 100px;
}

/*pl ---------------------------------------------*/
.pl10 {
	padding-left: 10px;
}

.pl20 {
	padding-left: 20px;
}

.pl30 {
	padding-left: 30px;
}

.pl40 {
	padding-left: 40px;
}

.pl50 {
	padding-left: 50px;
}

.pl60 {
	padding-left: 60px;
}

/*pr ---------------------------------------------*/
.pr10 {
	padding-right: 10px;
}

.pr20 {
	padding-right: 20px;
}

.pr30 {
	padding-right: 30px;
}

.pr40 {
	padding-right: 40px;
}

.pr50 {
	padding-right: 50px;
}

.pr60 {
	padding-right: 60px;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {

	.pt10,
	.pt20,
	.pt30 {
		padding-top: 10px;
	}

	.pt40,
	.pt50,
	.pt60,
	.pt70,
	.pt80,
	.pt90,
	.pt100 {
		padding-top: 30px;
	}

	.pb10,
	.pb20,
	.pb30 {
		padding-bottom: 10px;
	}

	.pb40,
	.pb50,
	.pb60,
	.pb70,
	.pb80,
	.pb90,
	.pb100 {
		padding-bottom: 30px;
	}

	.pl30,
	.pl40,
	.pl50,
	.pl60 {
		padding-left: 0;
	}

	.pr10,
	.pr20,
	.pr30,
	.pr40,
	.pr50,
	.pr60 {
		padding-right: 0;
	}
}


/* --------------------------------------------------
  改行
-------------------------------------------------- */
@media screen and (min-width: 650px) {
	.br-pc {
		display: block;
	}

	.br-sp {
		display: none;
	}
}

@media screen and (max-width: 650px) {
	.br-pc {
		display: none;
	}

	.br-sp {
		display: block;
	}
}

/* --------------------------------------------------
  ロード  フェードイン
-------------------------------------------------- */
body {
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}

/* --------------------------------------------------
  メインのみ  フェードイン
-------------------------------------------------- */
.main-fadeup {
	animation-name: main-fadeup;
	animation-duration: 2s;
	animation-iteration-count: infinite;
	animation-iteration-count: 1; //繰り返し回数
	animation-direction: normal; //往復処理をするかどうか
}

@keyframes main-fadeup {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* --------------------------------------------------
  フェードイン
-------------------------------------------------- */
/*フェードインアニメ*/
/*左から右にフェードイン*/
.left-to-right {
	opacity: 0.1;
	transform: translateX(-20px);
	transition: all 0.9s;
}

.left-to-right.scrollin {
	opacity: 1;
	transform: translate(0);
}

/*下から上にフェードイン*/
.down-to-top {
	opacity: 0.1;
	transform: translateY(20px);
	transition: all 0.9s;
}

.down-to-top.scrollin {
	opacity: 1;
	transform: translateY(0);
}





/* --------------------------------------------------
  全体の横幅
-------------------------------------------------- */
.container-s {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

.container-ss {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

.container {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

@media (min-width: 576px) {
	.container {
		max-width: 540px;
	}

	.container-ss {
		width: 500px;
	}

	.container-s {
		width: 500px;
	}
}

@media (min-width: 768px) {
	.container {
		max-width: 750px;
	}

	.container-ss {
		width: 680px;
	}

	.container-s {
		width: 700px;
	}
}

@media (min-width: 900px) {
	.container {
		max-width: 880px;
	}

	.container-s {
		width: 800px;
	}
}

/* @media (min-width: 1100px) {
	.container {
		max-width: 1000px;
	}
} */

/* @media (min-width: 1200px) {
	.container {
		max-width: 1000px;
	}
} */

@media (min-width: 1000px) {
	.container {
		max-width: 1200px;
	}
}


/* --------------------------------------------------
    共通カラム
-------------------------------------------------- */
section#index-service .clearfix {
	position: relative;
	display: flex;
	align-items: start;
}
section#index-service .clearfix--rev {
	flex-direction: row-reverse;
}


.col2 {
	float: left;
	width: 50%;
}

.col2-right {
	float: right;
}

.col2-img {
	width: 60%;
	margin-top: 40px;
}

.col2-txt {
	position: relative;
	z-index: 2;
	background-color: #fff;
	box-shadow: -1px 5px 5px -1px #eeeeee;
	padding: 30px 30px 0;
	margin-left: -70px;
}

.col2-txt-l {
	margin-left: 0;
	margin-right:-70px;
}


.col2-txt-r {
	right: 0;
}

.col3 {
	float: left;
	width: 33.33%;
}

.col4 {
	float: left;
	width: 25%;
}

.width-30per {
	width: 30%;
}

.width-40per {
	width: 40%;
}

.width-60per {
	width: 60%;
}

.width-70per {
	width: 70%;
}

.width-70per-100per {
	width: 70%;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	section#index-service .clearfix {
		flex-direction: column;
	}
	
	.col2 {
		float: none;
		width: 100%;
	}

	.col2-right {
		float: none;
	}

	.col2-txt {
		position: inherit;
		padding: 0 5vw 0;
		margin-top: 0;
		margin-bottom: 5vw;
	}

	.col3 {
		float: none;
		width: 100%;
	}

	.width-70per-100per {
		width: 100%;
	}
	.col2-txt {
	
		margin-left: 0px;
	}
	
	.col2-txt-l {
		margin-right:0px;
	}

}

/* ---------- 899px以下  ---------- */
@media(max-width:899px) {
	.col4 {
		float: none;
		width: 100%;
	}
}

/* --------------------------------------------------
  Hタグ共通
-------------------------------------------------- */
/*h1-------------------------------------------- */
/*h2-------------------------------------------- */
h2.style2a {
	font-size: 30px;
	color: #000;
	font-weight: 500;
	letter-spacing: 4px;
	display: inline-block;
	margin-bottom: 25px;
	font-family: 'Open Sans', sans-serif;
	position: relative;
	padding-bottom: 40px;
}

h2.style2a:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width: 1.5px;
	height: 30px;
}

h2.style2a span {
	display: block;
	font-size: 12px;
	color: #3485a5;
	letter-spacing: 2px;
}

h2.style2a-white,
h2.style2a-white span.style2a-first,
h2.style2a-white span.style2a-jp {
	color: #fff;
}

/*h3-------------------------------------------- */
h3.style3a {
	font-size: 22px;
	font-size: 24px;
	color: #3485a5;
	margin: 0 0 40px;
	position: relative;
}

h3.style3a:before {
	position: absolute;
	bottom: -14px;
	left: 0;
	content: "";
	width: 30px;
	height: 3px;
	background: #3485a5;
}


/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	h2.style2a {
		font-size: 22px;
		margin-bottom: 15px;
	}

	/*h3-------------------------------------------- */
	h3.style3a {
		font-size: 16px;
		margin: 0 0 45px;
	}

	h3.style3a:before {
		bottom: -17px;
	}

	h3.style3a:before {
		width: 20px;
	}
}


/* --------------------------------------------------
 more
-------------------------------------------------- */
/*.more01*/
.more01 a {
	font-size: 16px;
	color: #fff;
	letter-spacing: 3px;
	padding: 18px 50px;
	font-family: 'Open Sans', sans-serif;
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 250px;
	background: #3485a5;
	text-decoration: none;
	text-align: center;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.more01 a {
		max-width: 100%;
	}
}


/* --------------------------------------------------
  背景
-------------------------------------------------- */
.bg01 {
	background: #f7f7f7;
}

.bg02 {
	background: #333;
}

/* --------------------------------------------------
  フレーム
-------------------------------------------------- */
.frameA {
	padding: 50px;
	background: #fff;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.frameA {
		padding: 30px 20px;
	}
}

/* --------------------------------------------------
  ul.check-list
-------------------------------------------------- */
ul.check-list {
	padding: 10px 0;
}

ul.check-list li {
	padding: 10px 0 10px 20px;
	font-size: 14px;
	position: relative;
}

ul.check-list li:before {
	position: absolute;
	left: 0;
	top: 12px;
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background: url("img/com/icon_kira.png") no-repeat;
	background-size: contain;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	ul.check-list li {
		font-size: 16px;
	}
}

/* --------------------------------------------------
  ul.point-list
-------------------------------------------------- */
ul.point-list {
	padding: 20px 0;
}

ul.point-list li {
	padding: 3px 10px;
	font-size: 12px;
	background: #333;
	color: #fff;
	margin: 5px 3px;
	display: inline-block;
	border-radius: 20px;
}

/* --------------------------------------------------
 video
-------------------------------------------------- */
video {
	width: 100%;
}

/* --------------------------------------------------
  YouTubeレスポンシブサイズ
-------------------------------------------------- */
.youtube {
	position: relative;
	padding-bottom: 56.25%;
	/*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* --------------------------------------------------
  Google Map
-------------------------------------------------- */
.ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* --------------------------------------------------
 table.tableA
-------------------------------------------------- */
table.tableA {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

table.tableA th {
	width: 25%;
	font-size: 14px;
	font-size: 16px;
	padding: 25px 10px;
	text-align: left;
	vertical-align: top;
}

table.tableA td {
	width: 75%;
	font-size: 14px;
	font-size: 16px;
	padding: 25px 10px;
}

table.tableA th,
table.tableA td {
	border-bottom: 1px solid #dfdfdf;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	table.tableA th {
		padding: 15px 15px 0;
		width: 100%;
		display: block;
		border-bottom: none;
		font-size: 14px;
	}

	table.tableA td {
		padding: 15px;
		width: 100%;
		display: block;
		font-size: 14px;
	}
}


/* --------------------------------------------------
 table.tableB
-------------------------------------------------- */
table.tableB {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

table.tableB th {
	width: 25%;
	font-size: 14px;
	padding: 10px;
	text-align: left;
	vertical-align: top;
}

table.tableB td {
	width: 75%;
	font-size: 14px;
	padding: 10px;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	table.tableB th {
		padding: 10px 0 0;
		width: 100%;
		display: block;
		border-bottom: none;
	}

	table.tableB td {
		padding: 0 0 5px;
		width: 100%;
		display: block;
	}
}




/* --------------------------------------------------
 ヘッダー
-------------------------------------------------- */

/*ヘッダーレイアウト*/
.site-header .container {
	max-width: 100%;
}

.site-header {
	z-index: 9999;
}

.site-header .site-branding {
	float: left;
	width: 25%;
}

.site-header .site-navigationmenu {
	float: left;
	width: 75%;
}

/*ロゴ*/
.site-header .site-title {
	margin: 0;
	padding: 5px 0 0;
}

.site-header .site-title a img {
	width: 100px;
	height: auto;
}

@media (max-width: 1099px) {
	.site-header .site-branding {
		width: 70% !important;
	}
}


/*ナビゲーション*/
#nav-content ul li {
	display: inline-block;
	float: none;
}

#nav-content ul li a {
	display: block;
	padding: 20px 18px;
	color: #000;
	text-align: center;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: 500;
	font-size: 14px;
	font-size: 16px;
}

#nav-content ul li a span {
	display: block;
	font-size: 10px;
	color: #888888;
}

/*---------- 1100px以上---------- */
@media(min-width:1100px) {

	/*マウスオーバー表示*/
	.menu {
		position: relative;
		width: 100%;
		height: 84px;
		margin: 0 auto;
	}

	ul.sub-menu {
		visibility: hidden;
		opacity: 0;
		z-index: 1;
	}

	.menu>li:hover {
		-webkit-transition: all .5s;
		transition: all .5s;
	}

	/* floatクリア */
	.menu:before,
	.menu:after {
		content: " ";
		display: table;
	}

	.menu:after {
		clear: both;
	}

	.menu {
		*zoom: 1;
	}

	#nav-content ul li.menu-item-has-children {
		position: relative;
	}

	#nav-content ul li.menu-item-has-children ul.sub-menu {
		position: absolute;
		top: 40px;
		width: 100%;
		-webkit-transition: all .2s ease;
		transition: all .2s ease;
	}

	#nav-content ul li.menu-item-has-children:hover ul.sub-menu {
		top: 87px;
		visibility: visible;
		opacity: 1;
	}

	/*ナビゲーション副項目*/
	#nav-content ul.sub-menu li {
		width: 130px;
	}

	#nav-content ul.sub-menu li a {
		background: #fff !important;
		padding: 20px 25px 20px 40px !important;
		color: #333;
		position: relative;
		text-align: left !important;
	}

	#nav-content ul.sub-menu li a:before {
		font-family: "Font Awesome 5 Free";
		content: "\f105";
		font-size: 12px;
		position: absolute;
		top: 22px;
		left: 26px;
	}

	#nav-open,
	#nav-input {
		display: none;
	}

	#nav-content ul {
		margin: 0;
		padding: 8px 0;
		text-align: right;
	}
}

/*---------- 1099ppx以下---------- */
@media(max-width:1099px) {
	.site-header {
		height: 80px;
	}

	.site-header .site-branding {
		width: 40%;
		position: absolute;
		top: 12px;
		left: 14px;
	}

	.site-header .site-navigationmenu {
		width: 60%;
	}

	/*ロゴ*/
	.site-header .site-title {
		padding: 0;
	}

	.site-header .site-title a img {
		width: 80px;
		height: auto;
	}

	/*Gナビ*/
	.main-navigation {
		height: 88px;
	}

	.main-navigation ul {
		display: block !important;
		padding: 20px;
	}

	/*チェックボックス等は非表示に*/
	.nav-unshown {
		display: none;
	}

	/*アイコンのスペース*/
	#nav-open {
		position: absolute;
		top: 30px;
		right: 10px;
		display: inline-block;
		width: 35px;
		height: 22px;
		vertical-align: middle;
	}

	/*ハンバーガーアイコン*/
	#nav-open span,
	#nav-open span:before,
	#nav-open span:after {
		position: absolute;
		height: 2px;
		/*線の太さ*/
		width: 20px;
		/*長さ*/
		border-radius: 2px;
		background: #333;
		display: block;
		content: '';
		cursor: pointer;
	}

	#nav-open span:before {
		bottom: -8px;
	}

	#nav-open span:after {
		bottom: -16px;
	}

	/*閉じる用の薄黒カバー*/
	#nav-close {
		display: none;
		/*はじめは隠しておく*/
		position: fixed;
		z-index: 99;
		top: 0;
		/*全体に広がるように*/
		left: 0;
		width: 100%;
		height: 100%;
		background: black;
		opacity: 0;
		transition: .3s ease-in-out;
	}

	/*中身*/
	#nav-content {
		overflow: auto;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		/*最前面に*/
		width: 90%;
		/*右側に隙間を作る（閉じるカバーを表示）*/
		max-width: 330px;
		/*最大幅（調整してください）*/
		height: 100%;
		background: #fff;
		/*背景色*/
		transition: .3s ease-in-out;
		/*滑らかに表示*/
		-webkit-transform: translateX(-105%);
		transform: translateX(-105%);
		/*左に隠しておく*/
	}

	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked~#nav-close {
		display: block;
		/*カバーを表示*/
		opacity: .5;
	}

	#nav-input:checked~#nav-content {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		/*中身を表示（右へスライド）*/
		box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
	}

	/*メニュー*/
	#nav-content ul li {
		width: 100%;
	}

	#nav-content ul li a {
		color: #333;
		padding: 10px 10px 10px 30px !important;
		font-size: 16px;
		font-weight: 700;
		display: inline-block;
		width: 100%;
		text-align: left !important;
		position: relative;
	}

	#nav-content ul li a:before {
		font-family: "Font Awesome 5 Free";
		content: "\f105";
		font-size: 12px;
		position: absolute;
		top: 13px !important;
		left: 15px !important;
	}

	/*ナビゲーション副項目*/
	#nav-content ul.sub-menu {
		display: block;
		position: static;
		width: 100%;
		padding-left: 10px;
	}

	#nav-content ul.sub-menu li a {
		background: none !important;
		color: #333;
		font-size: 12px;
	}
}



/* --------------------------------------------------
 フッター
-------------------------------------------------- */
/*フッターお問い合わせ*/
.footer-contact {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 100px 0;
}

.footer-contact .container {
	width: 1000px;
	margin: 0 auto;
}

.footer-contact .container .clearfix {
	background-color: #fff;
	padding: 30px 60px;
}

.footer-contact .footer-contact-left {
	float: left;
	width: 65%;
	display: flex;
}

.footer-contact .footer-contact-left h2.style2a {
	padding-bottom: 0;
	margin-bottom: 0;
}

.footer-contact .footer-contact-left h2.style2a::before {
	display: none;
}

.footer-contact .footer-contact-left p {
	margin-left: 20px;
	display: flex;
	align-items: center;
}

.footer-contact .footer-contact-right {
	float: left;
	width: 35%;
	padding-top: 3px;
}

@media(max-width:768px) {
	.footer-contact .container .clearfix {
		padding: 5vw 8vw;
	}

	.footer-contact .footer-contact-left {
		display: block;
		text-align: center;
		margin-bottom: 5vw;
	}

	.footer-contact .footer-contact-left p {
		margin-left: 0;
		justify-content: center;
		margin-top: 3vw;
	}
}

/*フッターサイトマップ*/
ul.sitemap li {
	padding: 0 0 10px;
}

ul.sitemap li a {
	text-decoration: none;
	color: #000;
	font-size: 16px;
}

.site-footer .footer-sitemap {
	padding: 40px 60px;
	border-left: 1px solid #c6c6c6;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {

	/*フッターお問い合わせ*/
	.footer-contact {
		padding: 60px 0;
	}

	.footer-contact .container {
		width: 100%;
	}

	.footer-contact .footer-contact-left {
		float: none;
		width: 100%;
	}

	.footer-contact .footer-contact-right {
		float: none;
		width: 100%;
	}

	/*フッターサイトマップ*/
	.site-footer .footer-info {
		border-bottom: 1px solid #ced3e2;
		padding: 0 0 20px;
	}

	.site-footer .footer-sitemap {
		padding: 20px 0;
		border-left: none;
	}
}


/* --------------------------------------------------
 トップページ：メイン
-------------------------------------------------- */
#kv {
	background-image: url("img/top/bg_main2.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 160px 0 140px;
	text-align: center;
}

#kv p.kv-en {
	font-size: 42px;
	color: #fff;
	font-weight: 600;
	letter-spacing: 2px;
	font-family: 'Open Sans', sans-serif;
	margin-bottom: 10px;
	line-height: 1.4;
	text-shadow: 0 0 8px #585858;
}

#kv p.kv-jp {
	font-size: 22px;
	font-size: 32px;
	color: #fff;
	font-weight: 600;
	letter-spacing: 2px;
	line-height: 2.0;
	display: inline-block;
	padding-top: 10px;
	padding-bottom: 40px;
	text-shadow: 0 0 8px #585858;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	#kv {
		padding: 180px 0 160px;
	}

	#kv p.kv-en {
		font-size: 24px;
		margin-bottom: 30px;
		letter-spacing: 3px;
		line-height: 1.6;
	}

	#kv p.kv-en span {
		font-size: 22px;
		letter-spacing: 5px;
	}

	#kv p.kv-jp {
		font-size: 14px;
		padding-top: 20px;
		padding-bottom: 40px;
	}
}

/* --------------------------------------------------
 トップページ：サービス内容
-------------------------------------------------- */

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.index-service h3.style3a {
		margin-top: 20px;
	}

	.index-service .clearfix {
		padding-top: 10px;
	}
}


/* --------------------------------------------------
 トップページ：当社の強み
-------------------------------------------------- */
.index-strength .col3 {
	padding: 10px;
}

.index-strength .col3 p {
	line-height: 1.6;
	font-size: 16px;
	padding-top: 10px;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {

	.index-strength .col3 {
		margin-bottom: 20px;
	}

	.index-strength .col3 p {
		font-size: 14px;
	}
}


/* --------------------------------------------------
 トップページ：ブログ
-------------------------------------------------- */
.index-blog .col2-left {
	padding-right: 40px;
}

.index-blog .col2-right {
	padding-left: 40px;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.index-blog .col2-left {
		padding-right: 0;
		padding-bottom: 30px;
		border-right: none;
	}

	.index-blog .col2-right {
		padding-left: 0px;
		padding-top: 30px;
	}
}

/* --------------------------------------------------
 トップページ：お知らせ
-------------------------------------------------- */
.index-news .index-news-left {
	float: left;
	width: 30%;
}

.index-news .index-news-right {
	float: left;
	width: 70%;
	min-height: 200px;
}

.index-news .container {
	position: relative;
}

.index-news .blog-body {
	padding: 20px 10px;
	border-bottom: 1px solid #dfdfdf;
}

.index-news .blog-body time {
	float: left;
	width: 20%;
	font-size: 12px;
	color: #333;
	font-family: 'Open Sans', sans-serif;
	letter-spacing: 3px;
	padding-top: 8px;
}

.index-news .blog-body h3 {
	float: left;
	width: 80%;
}

.index-news .blog-body h3 a {
	font-size: 14px;
	color: #333;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
	letter-spacing: 3px;
}

/* ---------- 769px以上  ---------- */
@media(min-width:769px) {
	.index-news .more {
		position: absolute;
		bottom: 20px;
		left: 20px;
	}
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.index-news .index-news-left {
		float: none;
		width: 100%;
	}

	.index-news .index-news-right {
		float: none;
		width: 100%;
		min-height: auto;
	}

	.index-news .blog-body {
		padding: 15px 5px;
	}

	.index-news .blog-body time {
		float: none;
		width: 100%;
	}

	.index-news .blog-body h3 {
		float: none;
		width: 100%;
		line-height: 1.2;
	}

	.index-news .more {
		margin-top: 30px;
	}
}

/* --------------------------------------------------
 トップページ：バナーリンク
-------------------------------------------------- */
.index-bnr .index-bnr-list {
	background-repeat: no-repeat;
	background-position: left center;
	background-size: cover;
	padding: 45px;
	width: 48%;
	float: left;
	height: 280px;
	text-decoration: none;
}

.index-bnr-left {
	background-image: url("img/top/bg_company.jpg");
	margin-right: 2%;
}

.index-bnr-right {
	background-image: url("img/top/bg_profile.jpg");
	margin-left: 2%;
}

.index-bnr .index-bnr-list p.text-en {
	font-size: 30px;
	font-weight: 400;
	color: #fff;
	font-family: 'Open Sans', sans-serif;
	letter-spacing: 3px;
	position: relative;
}

.index-bnr .index-bnr-list p.text-en:after {
	position: absolute;
	top: 31px;
	right: 0;
	content: "";
	background: #fff;
	width: 80px;
	height: 1px;
}

.index-bnr .index-bnr-list p.text-jp {
	font-size: 12px;
	color: #fff;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.index-bnr .index-bnr-list {
		padding: 30px;
		width: 100%;
		float: none;
		height: 200px;
		display: block;
	}

	.index-bnr-left {
		margin-right: 0;
		margin-bottom: 30px;
	}

	.index-bnr-right {
		margin-left: 0;
	}

	.index-bnr .index-bnr-list p.text-en {
		font-size: 24px;
	}

	.index-bnr .index-bnr-list p.text-en:after {
		top: 20px;
		width: 50px;
	}
}


/* --------------------------------------------------
 パンくず
-------------------------------------------------- */
.breadcrumbs-box {
	position: absolute;
	top: 408px;
	left: 0;
}

.breadcrumbs-box-category {
	top: 408px;
}

.breadcrumbs {
	font-size: 10px;
	padding: 10px 0;
}

.breadcrumbs a {
	text-decoration: none;
}

.breadcrumbs span a,
.breadcrumbs span a:visited {
	color: #9e4294 !important;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {}


/* --------------------------------------------------
.entry-header
-------------------------------------------------- */
.entry-header {
	background-image: url("img/top/bg_main.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	padding: 120px 0 0;
	margin-bottom: 30px;
	text-align: center;
	height: 322px;
}

h1.entry-title {
	color: #fff;
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 5px;
	line-height: 1.3;
	padding-bottom: 20px;
	position: relative;
}

h1.entry-title span {
	display: block;
	font-size: 16px;
	font-weight: 500;
	font-family: 'Open Sans', sans-serif;
	position: relative;
	padding-top: 40px;
}

h1.entry-title span:before {
	content: '';
	position: absolute;
	top: 18px;
	display: inline-block;
	width: 80px;
	height: 1px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #fff;
	border-radius: 2px;
}

h1.entry-title-single {
	font-size: 24px;
	letter-spacing: 0;
}

h1.entry-title-single span {
	font-size: 16px;
	padding-top: 25px;
	letter-spacing: 3px;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	h1.entry-title {
		font-size: 24px;
		padding-bottom: 20px;
	}

	h1.entry-title span {
		font-size: 11px;
		padding-top: 40px;
	}
}



/* --------------------------------------------------
 ブログ 一覧 共通 ４カラムver
-------------------------------------------------- */
.blog-list-box {
	margin-left: -20px;
	margin-right: -20px;
}

.blog-list-box .col4 {
	padding: 15px 15px;
}

.blog-list-box .col4 time {
	color: #000;
	font-size: 14px;
	letter-spacing: 2px;
	font-family: 'Open Sans', sans-serif;
}

.blog-list-box .col4 .cat-name {
	background: #000;
	color: #fff;
	font-size: 10px;
	padding: 0px 8px;
	display: inline-block;
}

.blog-list-box .col4 h3 {
	line-height: 1.5;
	font-size: 14px;
}

.blog-list-box .col4 h3 a {
	color: #333;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

/* ---------- 991px以下  ---------- */
@media(max-width:991px) {
	.blog-list-box .col4 {
		width: 50%;
		float: left;
	}

	.blog-list-box .col4 h3 {
		height: 70px;
	}
}

/* ---------- 480px以下  ---------- */
@media(max-width:480px) {
	.blog-list-box {
		padding: 10px;
	}

	.blog-list-box .col4 {
		padding: 10px;
		margin: 0 auto;
	}

	.blog-list-box .col4 img {
		width: 100%;
		height: auto;
	}
}


/* --------------------------------------------------
 ブログ 一覧 共通 3カラムver
-------------------------------------------------- */
.blog-list-box {
	margin-left: -20px;
	margin-right: -20px;
}

.blog-list-box .col3 {
	padding: 15px 15px;
}

.blog-list-box .col3 time {
	color: #000;
	font-size: 14px;
	letter-spacing: 2px;
	font-family: 'Open Sans', sans-serif;
}

.blog-list-box .col3 .cat-name {
	background: #000;
	color: #fff;
	font-size: 10px;
	padding: 0px 8px;
	display: inline-block;
}

.blog-list-box .col3 h3 {
	line-height: 1.5;
	font-size: 14px;
}

.blog-list-box .col3 h3 a {
	color: #333;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

/* ---------- 991px以下  ---------- */
@media(max-width:991px) {
	.blog-list-box {
		padding: 10px;
	}

	.blog-list-box .col3 {
		padding: 10px;
		margin: 0 auto;
	}

	.blog-list-box .col3 img {
		width: 100%;
		height: auto;
	}
}



/* --------------------------------------------------
 ブログ 一覧 共通 1カラム 画像左テキスト右ver
-------------------------------------------------- */
.blog-list-boxB article {
	padding: 10px 0;
}

.blog-list-boxB article .blog-thumb {
	float: left;
	width: 30%;
	margin-right: 5%;
}

.blog-list-boxB article .blog-body {
	float: left;
	width: 65%;
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
}

.blog-list-boxB article .blog-body h3,
.blog-list-boxB a {
	font-size: 14px;
	color: #333;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
	letter-spacing: 3px;
}

.blog-list-boxB article .blog-body time {
	font-size: 12px;
	color: #333;
	font-family: 'Open Sans', sans-serif;
	letter-spacing: 3px;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.blog-list-boxB article .blog-thumb {
		float: left;
		width: 30%;
		margin-right: 5%;
	}

	.blog-list-boxB article .blog-body {
		float: left;
		width: 65%;
		-webkit-align-self: center;
		-ms-flex-item-align: center;
		align-self: center;
	}
}


/* --------------------------------------------------
 投稿一覧共通
-------------------------------------------------- */
.post-main-box {
	float: left;
	width: 70%;
	margin-right: 5%;
	padding: 20px 0;
}

.sidebar-box {
	float: left;
	width: 25%;
}

.post-list-box article {
	padding: 20px 0;
}

.post-list-box article .post-thumb {
	float: left;
	width: 20%;
	margin-right: 5%;
}

.post-list-box article .post-body {
	float: left;
	width: 75%;
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	align-self: center;
}

.post-list-box article .post-body h2,
.post-list-box a {
	font-size: 14px;
	color: #333;
	font-weight: 500;
	text-decoration: none;
}

.post-list-box article .post-body time {
	font-size: 11px;
	color: #333;
	font-family: 'Open Sans', sans-serif;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.post-main-box {
		float: none;
		width: 100%;
		margin-right: 0;
		padding: 20px 0;
	}

	.sidebar-box {
		float: none;
		width: 100%;
	}

	.post-list-box article .post-thumb {
		float: left;
		width: 25%;
		margin-right: 5%;
	}

	.post-list-box article .post-body {
		float: left;
		width: 70%;
		-webkit-align-self: center;
		-ms-flex-item-align: center;
		align-self: center;
	}
}

/* --------------------------------------------------
ページネーション
-------------------------------------------------- */
.pagination {
	clear: both;
	padding: 20px 0;
	position: relative;
	font-size: 14px;
	line-height: 14px;
	text-align: center;
}

.pagination-box {
	display: inline-block;
}

.pagination span,
.pagination a {
	display: block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 10px 15px 10px 15px;
	text-decoration: none;
	width: auto;
	color: #fff;
	/* 文字色 */
	background: #333;
	/* 背景色 */
}

.pagination a:hover {
	color: #333;
	/* マウスホバー時の文字色 */
	background: #eff2f3;
	/* マウスホバー時の背景色 */
}

.pagination .current {
	padding: 10px 15px 10px 15px;
	color: #333;
	/* 現在のページの文字色 */
	background: #eff2f3;
	/* 現在のページの背景色 */
}

@media only screen and (max-width: 413px) {
	.pagination {
		font-size: 12px;
		line-height: 12px;
	}

	.pagination span,
	.pagination a {
		padding: 8px 10px 8px 10px;
	}

	.pagination .current {
		padding: 8px 10px 8px 10px;
	}
}

/* --------------------------------------------------
 サイドバー
-------------------------------------------------- */
/*タイトル*/
.sidebar-box h2.widget-title {
	color: #3485a5;
	padding: 8px 0;
	font-size: 16px;
	letter-spacing: 2px;
	border-bottom: 2px solid #3485a5;
	margin-top: 20px;
	margin-bottom: 10px;
	font-family: 'Open Sans', sans-serif;
}

/*カテゴリー*/
.sidebar-box ul {
	margin-left: 15px;
}

.sidebar-box .widget_categories ul li {
	font-size: 14px;
}

.sidebar-box .widget_categories ul li a {
	font-size: 14px;
	padding: 8px 0 8px 15px;
	display: inline-block;
	position: relative;
	color: #333;
	text-decoration: none;
}

.sidebar-box .widget_categories ul li a:before {
	position: absolute;
	top: 10px;
	left: 0;
	font-family: "Font Awesome 5 Free";
	content: "\f105";
	font-size: 11px;
	font-weight: bold;
}

/*アーカイブ*/
.sidebar-box select#archives-dropdown-3 {
	width: 100%;
	height: 40px;
}

.sidebar-box .screen-reader-text {
	display: none;
}

/*最近の投稿*/
.sidebar-box .widget_recent_entries ul {
	margin: 0;
}

.sidebar-box .widget_recent_entries ul li {
	padding: 5px;
	border-bottom: 1px solid #ccc;
}

.sidebar-box .widget_recent_entries ul li a {
	font-size: 14px;
	display: block;
	color: #333;
	text-decoration: none;
}

.sidebar-box .widget_recent_entries ul li span {
	font-size: 11px;
	display: block;
	font-family: 'Open Sans', sans-serif;
}

/* --------------------------------------------------
 個別記事ページ
-------------------------------------------------- */
.single .postinfo {
	padding: 5px;
	border-bottom: 3px solid #9e4294;
	margin-bottom: 30px;
}

.single .postinfo h2 {
	font-size: 18px;
}

.single .postinfo time {
	font-size: 12px;
	color: #9c9c9c;
	font-family: 'Open Sans', sans-serif;
}



/* --------------------------------------------------
 下層：サービス内容
-------------------------------------------------- */
.service-program .program-list {
	float: left;
	width: 48%;
	margin: 1%;
	background: #f9f5ef;
	padding: 45px;
	height: 380px;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.service-program .program-list {
		float: none;
		width: 100%;
		margin: 0 0 20px;
		padding: 30px;
		height: auto;
	}
}

/* --------------------------------------------------
 下層：代表者紹介
-------------------------------------------------- */
.profile-list-left {
	float: left;
	width: 35%;
}

.profile-list-right {
	float: left;
	width: 65%;
	padding: 20px 0 20px 50px;
}

.profile-list-right .profile-name {
	font-size: 26px;
	padding: 0 0 20px;
}

.profile-list-right .profile-name span {
	font-size: 14px;
	color: #7a7a7a;
	font-family: 'Open Sans', sans-serif;
	padding-left: 20px;
	letter-spacing: 3px;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.profile-list-left {
		float: none;
		width: 100%;
	}

	.profile-list-left img {
		width: 100%;
		height: auto;
	}

	.profile-list-right {
		float: none;
		width: 100%;
		padding: 20px 0 0;
	}
}


/* --------------------------------------------------
 下層：当社の強み
-------------------------------------------------- */
.strength-list {
	float: left;
	width: 48%;
	margin: 1%;
	background: #fff;
	border: 10px solid #f9f5ef;
	padding: 45px;
	height: 520px;
	text-align: center;
}

.strength-list img {
	width: 170px;
	height: auto;
}

.strength-list .strength-text01 {
	color: #9e4294;
	font-size: 18px;
	padding: 10px 0 15px;
}

.strength-list .strength-text02 {
	text-align: left;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.strength-list {
		float: none;
		width: 100%;
		margin: 0 0 20px;
		padding: 30px;
		height: auto;
	}
}


/* --------------------------------------------------
 下層：企業Statement
-------------------------------------------------- */
.statement-left {
	float: left;
	width: 60%;
	padding-right: 50px;
}

.statement-right {
	float: left;
	width: 40%;
}

.statement-left .statement-text01 {
	font-size: 32px;
	color: #333;
	font-weight: 400;
	letter-spacing: 5px;
	font-family: 'Open Sans', sans-serif;
	padding-top: 15px;
	padding-bottom: 15px;
	line-height: 1.4;
}

.statement-left .statement-text01 span {
	font-size: 38px;
	font-weight: 800;
	letter-spacing: 8px;
	display: block;
}

.statement-left .statement-text02 {
	font-size: 18px;
	color: #9e4294;
	font-weight: 600;
	letter-spacing: 5px;
	line-height: 2.0;
	border-top: 1px solid #fff;
	display: inline-block;
	padding-top: 10px;
	padding-bottom: 20px;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	.statement-left {
		float: none;
		width: 100%;
		padding-right: 0px;
		padding-bottom: 30px;
	}

	.statement-right {
		float: none;
		width: 100%;
	}

	.statement-left .statement-text01 {
		font-size: 20px;
		letter-spacing: 2px;
	}

	.statement-left .statement-text01 span {
		font-size: 22px;
		letter-spacing: 4px;
		padding-top: 5px;
	}

	.statement-left .statement-text02 {
		font-size: 16px;
	}
}


/* --------------------------------------------------
 下層：お問い合わせ
-------------------------------------------------- */
table.table-contact {
	width: 100%;
}

table.table-contact th {
	width: 30%;
	font-size: 14px;
	border-bottom: 1px solid #e8e8e8;
	padding: 20px;
	text-align: left;
}

table.table-contact td {
	width: 70%;
	font-size: 14px;
	border-bottom: 1px solid #e8e8e8;
	padding: 10px;
}

.required {
	color: #cc1111;
	font-size: 12px;
	padding-left: 3px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
	background: #f7f7f7;
	width: 100%;
	padding: 14px;
	box-sizing: border-box;
	border: none;
}

.submit-btn {
	text-align: center;
}

.wpcf7 input[type="submit"],
.submit-btn a {
	font-size: 16px;
	color: #fff;
	letter-spacing: 3px;
	padding: 18px 50px;
	font-family: 'Open Sans', sans-serif;
	display: inline-block;
	width: 100%;
	max-width: 250px;
	background: #333;
	text-decoration: none;
	text-align: center;
	border: none;
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	border-radius: 0;
	cursor: pointer;
}

p.caution {
	color: #cc1111;
	font-weight: bold;
}

/* ---------- 768px以下  ---------- */
@media(max-width:768px) {
	table.table-contact th {
		width: 100%;
		display: block;
		border-bottom: none;
		padding: 20px 10px 0;
	}

	table.table-contact td {
		width: 100%;
		display: block;
		border-bottom: 1px solid #e8e8e8;
		padding: 10px;
	}
}
.list{
	padding-left: 20px;
}
.list li{
	list-style-type:disc ;
}