/* --------------------------------------------------
    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;
	letter-spacing:2px;
	line-height:1.7;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
	color:#333;
}
body {
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
     	font-size: 100%;}
.serif{
	font-family: 'Noto Serif JP', serif;
}


/* --------------------------------------------------
  制作：色指定 #〜を変更
-------------------------------------------------- */
/*
.bg01,
h2.style2b:before{
	background-color:#005bac !important;
}
.index-news .index-news-title h2,
h3.style3a,
.sidebar-box h2.widget-title{
	color:#005bac !important;
}
.sidebar-box h2.widget-title{
	border-bottom:2px solid #005bac !important;
}
.more01 a{
	color:#005bac !important;
	border:2px solid #005bac !important;
}
.more01 a:hover{
	background-color:#005bac !important;
	color:#fff !important;
}
.more03 .arrow::before{
	border:1px solid #005bac !important;
}

.index-service .service-box:before{
	border-left:solid 3px #005bac !important;
	border-top:solid 3px #005bac !important;
}
.index-service .service-box:after{
	border-right:solid 3px #27c1bf !important;
	border-bottom:solid 3px #27c1bf !important;
}

.tel-btn a{
	color:#005bac !important;
	border:2px solid #005bac !important;
}
.tel-btn a:hover{
	background:#005bac !important;
	color:#fff !important;
}
.mail-btn a{
	background-color:#005bac !important;
	border:2px solid #005bac !important;
}
.mail-btn a:hover{
	background-color:#fff !important;
	color:#005bac !important;
}

.kv p.kv-en,
.index-news .index-news-title h2,
.more01 a,.more02 a,.more03 a,
h2.style2a,h2.style2b,
.index-service .service-box .service-no,
.tel-btn a,
h1.entry-title
{
	font-family: 'Libre Baskerville', serif !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;
}
.display-flex{
	display:flex;
}

/* --------------------------------------------------
  リンク・Pフォント設定
-------------------------------------------------- */
a{
	color:#62c5e1;
	-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:15px;
	color:#333;
	font-weight:400;
	line-height:2.5;}
.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:2.4;}
}

/* --------------------------------------------------
  カスタマイズ：カラー設定
-------------------------------------------------- */
.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;
}
.pl20,.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);
}

/* --------------------------------------------------
  パララックス
-------------------------------------------------- */
.para01{
	background-attachment: fixed;
}

/* --------------------------------------------------
  左から右に現れて文字だけ残るアニメーション
-------------------------------------------------- */
@-webkit-keyframes passing-bar{
	0% {
		left: 0;
		right: auto;
		width: 0;
	}
	50% {
		left: 0;
		right: auto;
		width: 100%;
	}
	51% {
		left: auto;
		right: 0;
		width: 100%;
	}
	100% {
		left: auto;
		right: 0;
		width: 0;
	}
}
@keyframes passing-bar{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@-webkit-keyframes passing-txt{
	0% { opacity: 0; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes passing-txt{
	0% { opacity:0; }
	50% { opacity:0; }
	100% { opacity:1; }
}
/* css */
.passing .passing-bar {
	position: relative;
	display:inline-block;
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	margin-bottom:15px;
}
.passing .passing-bar:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	/* 任意の値 */
	background: #000;
}
.passing .passing-txt {
	display: inline;
	opacity: 0;
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.passing.move .passing-bar:before {
	-webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
	animation: passing-bar 1s ease 0s 1 normal forwards;
}
.passing.move .passing-txt {
	-webkit-animation: passing-txt 0s ease .5s 1 normal forwards;
	animation:passing-txt 0s ease .5s 1 normal forwards;
}







/* --------------------------------------------------
  全体の横幅
-------------------------------------------------- */
.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:1100px;
	}
}
@media (min-width: 1400px){
.container{
	max-width:1200px;
	}
}


/* --------------------------------------------------
    共通カラム
-------------------------------------------------- */
.col2{
	float:left;
	width:50%;
}
.col2-right{
	float:right;
}
.col3{
	float:left;
	width:33.33%;
}
.col4{
	float:left;
	width:25%;
}
.width-20per{
	width:20%;
}
.width-30per{
	width:30%;
}
.width-40per{
	width:40%;
}
.width-60per{
	width:60%;
}
.width-70per{
	width:70%;
}
.width-80per{
	width:80%;
}


/* ---------- 768px以下  ---------- */	
@media(max-width:768px){
.col2{
	float:none;
	width:100%;
}
	.col2-right{
	float:none;
}
.col3{
	float:none;
	width:100%;
}

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

/* --------------------------------------------------
  Hタグ共通
-------------------------------------------------- */
/*h1-------------------------------------------- */
/*h2.style2a-------------------------------------------- */
h2.style2a{
	font-size:30px;
	color:#fff;
	font-weight:600;
  display: inline-block;
  margin:30px 0;
	font-family:'Josefin Sans', sans-serif;
	position:relative;
}
h2.style2a span{
	display:block;
	font-size:12px;
	color:#fff;
}
h2.style2a:before{
	position:absolute;
	top:-22px;
	left:0;
	content:"";
	width:30px;
	height:3px;
	background:#fff;
}


/*h2.style2b-------------------------------------------- */
h2.style2b{
	font-size:30px;
	color:#333;
	font-weight:600;
  display: inline-block;
  margin:30px 0;
	font-family:'Josefin Sans', sans-serif;
	position:relative;
}
h2.style2b span{
	display:block;
	font-size:12px;
	color:#333;
}
h2.style2b:before{
	content: '';
  position: absolute;
  top: -23px;
  display: inline-block;
  width:30px;
	height:3px;
  left: 0;
  background-color: #62c5e1;
}
h2.style2b-center:before{
	left: 50%;
	-webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}


/*h3-------------------------------------------- */
h3.style3a{
	font-size:22px;
	color:#3485a5;
	margin:0 0 40px;
	position:relative;
}
h3.style3a:before{
	position:absolute;
	bottom:-20px;
	left:0;
	content:"";
	width:30px;
	height:3px;
	background:#3485a5;
}


/* ---------- 768px以下  ---------- */	
@media(max-width:768px){
h2.style2a{
	font-size:22px;
	margin-bottom: 15px;
}
/*h3-------------------------------------------- */
h3{
	font-size:18px;
}
h3.style3a{
		margin:0 0 55px;
	}
h3.style3a:before{
	bottom:-20px;
}
h3.style3a:before{
		width:20px;
	}
}


/* --------------------------------------------------
 more
-------------------------------------------------- */
/*.more01*/
.more01 a{
	font-size:14px;
	font-family:'Josefin Sans', sans-serif;
	color:#62c5e1;
	letter-spacing:1px;
	padding:14px 30px 12px;
	position:relative;
	display:inline-block;
	width:100%;
	max-width:250px;
	background:#fff;
	border:2px solid #62c5e1;
	border-radius:100px;
	text-decoration:none;
	text-align:center;
}
.more01 a::after {
  position: absolute;
  content: "\f054";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
	font-size:11px;
  top: 50%;
  right: 24px;
  left: auto;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.more01 a:hover{
	background:#62c5e1;
	color:#fff;
}
.more01 a::after:hover {
	color:#fff;
}
/*.more02*/
.more02{
	padding:50px;
}
.more02 a{
	text-decoration:none;
	color:#fff;
	font-family:'Josefin Sans', sans-serif;
}
.more02 .arrow{
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
	left:-20px;
}
.more02 .arrow::before,
.more02 .arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.more02 .arrow::before{
    box-sizing: border-box;
    width: 90px;
    height: 90px;
    border: 1px solid #fff;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}
.more02 .arrow::after{
    left: 38px;
    width: 10px;
    height: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/*.more03*/
.more03{
	padding:50px;
}
.more03 a{
	text-decoration:none;
	color:#333;
	font-family:'Josefin Sans', sans-serif;
}
.more03 .arrow{
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
	left:-20px;
}
.more03 .arrow::before,
.more03 .arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.more03 .arrow::before{
    box-sizing: border-box;
    width: 90px;
    height: 90px;
    border: 1px solid #62c5e1;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}
.more03 .arrow::after{
    left: 38px;
    width: 10px;
    height: 10px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


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


/* --------------------------------------------------
  背景
-------------------------------------------------- */
.bg01{
	background:#62c5e1;
}
.bg02{
	background:#f8f9fa;
}

/* --------------------------------------------------
  フレーム
-------------------------------------------------- */
.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;
	padding:25px 10px;
	text-align:left;
	vertical-align:top;
}
table.tableA td{
	width:75%;
	font-size:14px;
	padding:25px 10px;
}
/* ---------- 768px以下  ---------- */	
@media(max-width:768px){
table.tableA th{
	padding:15px 10px 0 0;
	border-bottom:none;
}
table.tableA td{
	padding:15px 0;
}	
}


/* --------------------------------------------------
 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{
	position:relative;
	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:10px 0 0 ;
}
.site-header .site-title a img{
	width:auto;
	max-height:24px;
}
/*ナビゲーション*/
#nav-content ul li{
  display: inline-block;
	float:none;
	}
#nav-content ul li a{
  display: block;
  padding: 20px 18px;
  color:#fff;
  text-align: center;
  text-decoration: none;
  letter-spacing:1px;
  font-weight:500;
  font-size:15px;}
#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: 18px 0;
	text-align:right;
}
}
/*---------- 1099ppx以下---------- */
@media(max-width:1099px){
	.site-header{
		height:80px;
	}
.site-header .site-branding{
	width:40%;
	position:absolute;
	top:28px;
	left:20px;
	}
.site-header .site-navigationmenu{
	width:60%;
	}
/*ロゴ*/
.site-header .site-title{
	padding:0;
	line-height:0.8;
}
.site-header .site-title a img{
	width:auto;
	height:56px;
}
/*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: #fff;
  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 .footer-contact-left{
	float:left;
	width:40%;
}
.footer-contact .footer-contact-right{
	float:left;
	width:60%;
}
.footer-contact-right .col2{
	padding:10px;
}
/*電話ボタン*/
.tel-btn a{
	font-size:24px;
	font-family:'Josefin Sans', sans-serif;
	color:#62c5e1;
	letter-spacing:1px;
	padding:20px 30px 18px;
	position:relative;
	display:inline-block;
	width:100%;
	height:82px;
	background:#fff;
	border:2px solid #62c5e1;
	border-radius:100px;
	text-decoration:none;
	text-align:center;
}
.tel-btn a .tel-btn-small{
	font-size:14px;
}
.tel-btn a:hover{
	background:#62c5e1;
	color:#fff;
}
.tel-btn a::after:hover {
	color:#fff;
}
/*メールボタン*/
.mail-btn a{
	font-size:16px;
	font-weight:600;
	font-family:'Josefin Sans', sans-serif;
	color:#fff;
	letter-spacing:1px;
	padding:28px 30px 18px;
	position:relative;
	display:inline-block;
	width:100%;
	height:82px;
	background:#62c5e1;
	border:2px solid #62c5e1;
	border-radius:100px;
	text-decoration:none;
	text-align:center;
}
.mail-btn a i{
	font-size:18px;
	padding-right:15px;
}
.mail-btn a:hover{
	background:#fff;
	color:#62c5e1;
}
.mail-btn a::after:hover {
	color:#62c5e1;
}
/* ---------- 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
-------------------------------------------------- */
.kv{
		position:relative;
	top:-90px;
}
.kv p.kv-en{
	font-size:80px;
	color:#fff;
	font-weight:600;
	letter-spacing:10px;
	font-family: 'Josefin Sans', sans-serif;
	line-height:1.4;
}
.kv p.kv-jp{
	font-size:20px;
	color:#fff;
	font-weight:600;
	letter-spacing:3px;
	line-height:2.0;
	display:inline-block;
}
.kv-text-box{
	margin-top:10px;
	margin-bottom:10px;
}
/* ---------- 768px以下  ---------- */	
@media(max-width:768px){
.kv p.kv-en{
	font-size:34px;
  margin-bottom: 30px;
	letter-spacing:3px;
	line-height:1.6;
}
.kv p.kv-jp{
	font-size:16px;
}
.kv-text-box{
	margin-top:10px;
	margin-bottom:10px;
}
}

/* --------------------------------------------------
 トップページ：メイン kvA 画像単体ver
-------------------------------------------------- */
.kvA{
	background-image:url("img/top/bg_main.jpg");
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	padding:280px 0 190px;
	}
/* ---------- 768px以下  ---------- */	
@media(max-width:768px){
}

/* --------------------------------------------------
 トップページ：メイン kvB 画像複数ver
-------------------------------------------------- */
.kvB {
	position:relative;
}
.kvB .kv-text{
	position:absolute;
	top:280px;
	z-index:100;
}
.swiper-slide{
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	padding:280px 0 190px;
	height:760px !important;
	}
.slide01{
	background-image:url("img/top/bg_main01.jpg");
}
.slide02{
	background-image:url("img/top/bg_main02.jpg");
}
/* ---------- 768px以下  ---------- */	
@media(max-width:768px){
	.slide01{
		background-image:url("img/top/bg_main01_sp.jpg");
	}
	.slide02{
		background-image:url("img/top/bg_main02_sp.jpg");
	}
}


/* --------------------------------------------------
 トップページ：お知らせ
-------------------------------------------------- */
.index-news{
	position:relative;
	top:-170px;
	z-index:9999;
}
.index-news-box{
	padding:60px;
	background:#fff;
	box-shadow:0 0 60px #d8d8d8;
}
.index-news .index-news-title{
	float:left;
	width:23%;
}
.index-news .index-news-post{
	float:left;
	width:57%;
	padding:0 30px 0 0;
}
.index-news .index-news-more{
	float:left;
	width:20%;
}
.index-news .index-news-title h2{
	font-family:'Josefin Sans', sans-serif;
	font-size:18px;
	color:#62c5e1;
	padding:10px 0;
}
.index-news .blog-body{
	padding:5px 0;
}
.index-news .blog-body time{
	float:left;
	width:20%;
	font-size:12px;
	color:#333;
	font-family:'Josefin 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){

}
/* ---------- 768px以下  ---------- */	
@media(max-width:768px){
.index-news{
		margin-bottom:-100px;
	}
.index-news-box{
	padding:30px;
}
.index-news .index-news-title{
	float:none;
	width:100%;
}
.index-news .index-news-post{
	float:none;
	width:100%;
	padding:0;
}
.index-news .index-news-more{
	margin-top:30px;
	float:none;
	width:100%;
}
.index-news .blog-body time,.index-news .blog-body h3{
		float:none;
	width:100%;	
	}
}



/* --------------------------------------------------
 トップページ：About
-------------------------------------------------- */
.index-about p{
	color:#fff;
}
.index-about img{
	width:100%;
	height:auto;
}





/* --------------------------------------------------
 トップページ：サービス内容
-------------------------------------------------- */
.index-service{
	background-image:url("img/top/bg_01.jpg");
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	height: 100%;
	}
.index-service .service-box{
	background-color:rgba(255,255,255,0.8);
	padding:50px;
	text-align:center;
	position:relative;
	margin-bottom:50px;
}
.index-service .service-box:before,.index-service .service-box:after{ 
    content:'';
    width: 40px;
    height: 40px;
    position: absolute;
    display: inline-block;
}
.index-service .service-box:before{
    border-left: solid 3px #62c5e1;
    border-top: solid 3px #62c5e1;
    top:0;
    left: 0;
}
.index-service .service-box:after{
    border-right: solid 3px #b8e3d8;
    border-bottom: solid 3px #b8e3d8;
    bottom:0;
    right: 0;
}
.index-service .service-box .service-no{
	font-family:'Josefin Sans', sans-serif;
	font-size:48px;
	position:absolute;
	top:-57px;
	left:0;
	right:0;
}
.index-service .service-box h3{
	border-bottom:3px solid #333;
	display:table;
	margin:0 auto 20px;
}
.index-service .service-box p.service-text{
	text-align:left;
}
/* ---------- 768px以下  ---------- */	
@media(max-width:768px){
.index-service .display-flex{
		display:block;
	}
.index-service .service-box{
		margin-bottom:50px;
	}
}




/* --------------------------------------------------
 トップページ：ブログ
-------------------------------------------------- */
.index-blog{
	background-image:url("img/top/bg_02.jpg");
	background-repeat:repeat;
	background-position:center center;
	background-size:contain;
	background-size:  100% auto;
	}
.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-message .message-name{
	text-align:right;
	font-size:20px;
}
.index-message .message-name .message-name-small{
	font-size:14px;
	padding-right:10px;
}

/* --------------------------------------------------
 トップページ：ブログ
-------------------------------------------------- */
.index-company{
	background-image:url("img/top/bg_03.jpg");
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	}


/* --------------------------------------------------
 トップページ：会社概要
-------------------------------------------------- */
.index-company table th,
.index-company table td{
	color:#fff;
}




/* --------------------------------------------------
 パンくず
-------------------------------------------------- */
.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){
.breadcrumbs-box{
	top:290px;
}
}


/* --------------------------------------------------
.entry-header
-------------------------------------------------- */
.entry-header{
	background-image:url("img/top/bg_main.jpg");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:cover;
	padding:200px 0 0;
	margin-bottom:30px;
	text-align:center;
	height:405px;
	position:relative;
	top:-90px;
}
h1.entry-title{
	color:#fff;
	font-size:36px;
	font-weight:400;
	letter-spacing:5px;
	line-height:1.3;
	padding-bottom:20px;
	position:relative;
	font-family:'Josefin Sans', sans-serif;
}
 h1.entry-title span{
	display:block;
	font-size:16px;
	 font-weight:600;
	 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;
}
.entry-header-archive h1.entry-title{
	font-size:30px;
}
.entry-header-archive h1.entry-title span{
	display:inline;
	font-size:30px;
}
.entry-header-archive h1.entry-title span:before{
	content: none;
}

/* ---------- 768px以下  ---------- */	
@media(max-width:768px){
	.entry-header{
		padding:130px 0 0;
		height:290px;
		margin-bottom:-50px;
	}
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:'Josefin 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 img{
	box-shadow:0 0 50px #ccc;
}
.blog-list-box .col3 time{
	color:#9a9a9a;
	font-size:14px;
	letter-spacing:2px;
	font-family:'Josefin 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; */
	}
}

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

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

}


/* --------------------------------------------------
 ブログ 一覧 共通 1カラム 画像左テキスト右ver
-------------------------------------------------- */
.blog-thumb a {
	display: block;
	width: 100%;
	height: 259px;
}
.blog-list-box a img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.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;
}

/* ---------- 1000px以下  ---------- */	
@media(max-width:1399px){ 
	.blog-thumb a {
		display: block;
		width: 100%;
		height: 212px;
	}
}


/* ---------- 1000px以下  ---------- */	
@media(max-width:1000px){ 
	.blog-thumb a {
		display: block;
		width: 100%;
		height: 186px;
	}
}
/* ---------- 900px以下  ---------- */	
@media(max-width:900px){ 
	.blog-thumb a {
		display: block;
		width: 100%;
		height: 156px;
	}
}

/* ---------- 768px以下  ---------- */	
@media(max-width:768px){
	.blog-thumb a {
		display: block;
		width: 100%;
		height: 255px;
	}
.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;
}
}

/* ---------- 500px以下  ---------- */	
@media(max-width:500px){
	.blog-thumb a {
		display: block;
		width: 100%;
		height: 225px;
	}
}



/* --------------------------------------------------
 投稿一覧共通
-------------------------------------------------- */
.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:#62c5e1;
	padding:8px 0;
	font-size:16px;
	letter-spacing:2px;
	border-bottom:2px solid #62c5e1;
	margin-top:20px;
	margin-bottom:10px;
	font-family:'Josefin 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;
}
.wpcf7 input[type="submit"]{
	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;
}
/* ---------- 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;
}
	.wpcf7 input[type="submit"]{
		max-width:100%;
	}
}





