@charset "utf-8";
div{
	box-sizing: border-box;	
}
.mb20{
	margin-bottom: 20px!important;
}
.mb30{
	margin-bottom: 30px!important;
}
.mb50{
	margin-bottom: 50px!important;
}
a.ext-link{
	color: #32abe8;
}
.bbg-mb{
	margin-bottom: 50px;
}
.p-tit{
    padding: 20px 0 0;
    margin-bottom: 20px;
    position: relative;
}
.p-tit .wrap{
	max-width: 1200px;	
	margin: auto;
}	
.p-tit.greeting{
	background: url(../img/p-tit01@2x.jpg) no-repeat center;
	background-size: cover;
}
.p-tit::before {
    width: 236px;
    height: 110px;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/index/bg01.png) no-repeat left top / 100%;
    content: '';
    z-index: 1;
}
.p-tit::after {
    width: 378px;
    height: 183px;
    position: absolute;
    right: 0;
    bottom: 0;
    background: url(../img/index/bg02.png) no-repeat left top / 100%;
    content: '';
    z-index: 10;
}
.tit01{
	font-size: 3rem;
	margin: 100px 0 0;
	color: #1761a3;
	font-weight: normal;
	padding: 0 0 15px 50px;
    position: relative;
}
.tit01:before {
    width: 40px;
    height: 3px;
    margin-top: -6px;
    background-color: #1761a3;
    position: absolute;
    left: 0%;
    top: 50%;
    content: "";
}
.tit01b{
	font-size: 18rem;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	line-height: 0.9;
	color: #fff;
}	
.tit01b::first-letter {
  color: #1761a3;
}

#pagePath {
    font-size: 1.4rem;
    margin: 0 auto 10px;
    padding: 4px 0 6px 13px;
    width: 1200px;
    z-index: 1;
    position: relative;
}
#pagePath a {
    color: #2687de;
    margin-right: 4px;
    display: inline;
}
.localnav{
	width: 100%;
	align-items: center;
	background:#eef6fd; 
	margin-bottom: 40px;
	background: linear-gradient(75deg,#1b70bc 30%,#1b70bc 34%,#eef6fd 34%, #eef6fd 100%);
}
.flex{
	display: flex;
    flex-wrap: wrap;
}

.tit02bg{
	width: 33%;
	padding: 50px 50px 50px 16%;
}
.tit02bg .line{
	border-left:2px solid #fff;
	padding-left:15px;
}	
.tit02{
	font-size: 2.6rem;
	color: #fff;
}
.tit02b{
	font-size: 1.6rem;
	color: #fff;
}
.rUl{
    margin: 0 0 0 150px;
    padding: 50px 0;
    width: 50%;
    justify-content: flex-end;
}
.rUl li:first-child {
    margin-left: 0;
}
.rUl li {
	width: 23%;
	box-sizing: border-box;
	font-size: 15px;
    text-align: center;
    padding: 0 15px;
}
.rUl li:nth-child(n+4){
	margin-bottom: 25px;
}
.rUl li a{
	border-bottom: 1px solid #909090;
	padding-bottom: 3px;
	color: #4c4c4c;
}
.rUl li a i {
    display: inline-block;
    color: #1b70bc;
    font-size: 1.4rem;
    padding-left:10px; 
}
.mess-box {
	max-width: 1700px;
    margin: 0 auto 80px;
}
.mb-wrap{
    padding: 60px 0;
    background-color: #eef6fd;
} 
.mb-wrap .cbox {
    margin-bottom: 50px;
}   
.mb-wrap .cphoto {
    margin-right: -60px;
    text-align: right;
    position: relative;
    z-index: 10;
}
.mb-wrap .cphoto img {
    max-width: 50.8%;
}
.mb-wrap .ctex{
    margin: -33% auto 0;
    width: 1200px;
}
.mb-wrap .ctex .comtext {
    margin-right: 338px;
    padding: 52px 112px 47px 54px;
    width: 732px;
    background-color: #fff;
    position: relative;
}
.mb-wrap .ctex .comtext::before{
	content: "GREETING";
    position: absolute;
    font-size: 150px;
    color: #daedfb;
    top: -180px;
    left: 0;
    font-family: 'Oswald', sans-serif;
}
.mb-wrap .ctex .comtext .subbox {
    width: 510px;
    padding: 0 20px;
    position: relative;
    z-index: 20;
    text-align: justify;
}
.mb-wrap .ctex .comtext .subbox span{
	display: block;
	text-align: right;
	margin-top: 20px;
}	
.comtext .text {
    margin-bottom: 29px;
    color: #111111;
    font-size: 16px;
    line-height: 1.75;
}
.h3ttl {
    font-size: 2.4rem;
    margin-bottom: 20px;
    color: #333;
    font-weight: normal;
    padding: 0 0 15px 50px;
    position: relative;
}
.h3ttl:before {
    width: 40px;
    height: 2px;
    margin-top: -6px;
    background-color: #1761a3;
    position: absolute;
    left: 0%;
    top: 50%;
    content: "";
}
.cotent01{
	width: 1200px;
	margin: auto;
}

.pointBox .bgBox {
	margin-left: 36px;
	padding: 32px 0 55px;
	background: #e6f3ff;
	margin-bottom: 50px;
}
.pointList {
	margin-bottom: 56px;
	position: relative;
	z-index: 1;
}
.pointList li {
	margin-bottom: 29px;
	display: flex;
	flex-wrap: wrap;
}
.pointList li:last-child {
	margin-bottom: 0;
}
.pointList li .textBox {
	width: 50%;
}
.pointList li .textBox .textWrap {
	padding: 0 59px 55px 0;
	width: 618px;
	max-width: calc(100% - 20px);
	min-height: 309px;
	position: relative;
	box-sizing: border-box;
}
.pointList li .textBox .textWrap::before {
	position: absolute;
	top: 5px;
	right: -87px;
	bottom: 0;
	left: 20px;
	background: #fff;
	content: '';
}
.pointList li .title {
	margin-bottom: 25px;
	display: flex;
	position: relative;
	z-index: 1;
}
.pointList li .title .num {
	padding-bottom: 5px;
	width: 110px;
	min-height: 110px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 6.5rem;
	line-height: 1;
	letter-spacing: -0.01em;
	color: #fff;
	box-sizing: border-box;
	background: #1761a3;
}
.pointList li .textBox .textInner {
	margin-left: 12%;
	position: relative;
	z-index: 1;
}
.pointList li .textBox p {
	text-align: justify;
	line-height: 1.666;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
.pointList li .photoBox {
	margin-top: 38px;
	width: 50%;
	position: relative;
}
.pointList li .photoBox .en {
	position: absolute;
	right: -10px;
	top: 303px;
	color: #FFF;
	font-size: 10.688rem;
	line-height: 1;
	white-space: nowrap;
	word-break: keep-all;
	transform: rotate(90deg);
	transform-origin: right top;
	opacity: 0.3;
	z-index: 2;
}
.pointList li .photoBox img {
	width: 100%;
}
.pointList li:nth-child(2n) {
	flex-direction: row-reverse;
}
.pointList li:nth-child(2n-1) .textBox .textWrap {
	margin-left: auto;
}
.pointList li:nth-child(2n) .textBox .textWrap {
	padding: 0 36px 56px 43px;
	width: 618px;
}
.pointList li:nth-child(2n) .textBox .textWrap::before {
	left: -123px;
	right: 9%;
	right: 56px;
}
.pointList li:nth-child(2n) .textBox .textInner {
	margin: 0 13.5% 0 0.8%;
}
.pointList li:nth-child(2n) .photoBox .en {
	top: -52px;
	left: 105px;
	right: auto;
	transform-origin: left top;
}
.pointList li:nth-child(1) .photoBox .en {
	opacity: 0.5;
}
.point02{
	width: 90%;
	margin: 50px auto 30px;
	display: flex;
	justify-content: center;
	align-items: stretch;
}
.point02 .ttlbox{
	width: 50%;
	color: #fff;
	background: #1b70bc;
	display: flex;
	align-items: center;
	justify-content: center;
}
.point02 .ttlbox p{
	border-bottom: 2px solid #fff;
	padding-bottom: 2px;
	font-size: 20px;
}	
.point02 .libox li span{
	font-size: 13px;
	line-height: 1;
	margin-top: 10px;
	display: block;
}	
.point02 .libox{
	width: 50%;
	padding: 30px 50px;
	background: #fff;
	display: flex;
	align-items: center;
}
.point02 .libox li{
	display: block;
	margin-bottom: 15px;
	line-height: 1.3;
}
.point02 .libox li i{
	color: #1b70bc;
	margin-right: 5px;
}	
.po02bg{
	margin-top: 20px;
	padding: 20px;
	background: #f5f7f9;
}
.ttlst{
	font-size: 15px;
	padding: 0 0 15px 35px;
    position: relative;
}
.ttlst:before {
    width: 26px;
    height: 2px;
    margin-top: -7px;
    background-color: #1761a3;
    position: absolute;
    left: 0%;
    top: 50%;
    content: "";
}
.po02dscp{
	font-size: 14px;
	line-height: 1.7;
}
.p-bg01{
	background: #eef6fd;
}
.inner01{
	max-width: 1100px;
	margin: 0 auto;
	padding: 50px;
}
.p-bg01.wh{
	padding: 50px 0;
	margin-bottom: 50px;
}	
.inner01.wh{
	background: #fff;
	margin: auto;
}	
.ttl02{
	font-size: 3.4rem;
	color: #1761a3;
	border-bottom: 1px solid #ccc;
	margin-bottom: 30px;
	padding-bottom: 5px;
}
.flex02{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: ;
}
.flex02 .item{
	flex-basis: 31.9%; 
	margin-right: 15px;
	margin-bottom: 30px;
}	
.flex02 .item:nth-child(3n){
	margin-right: 0;
}
.flex02 .item .ttl{
	font-size: 1.6rem;
}	
.flex02 .item img{
	width: 100%;
}
.aboutBox {
	margin-bottom: 51px;
	padding: 63px 0 40px;
	position: relative;
	background: #f4faff url("../img/index/bg03.png") no-repeat top right calc(50% - 277px);
}
.aboutBox.sec {
	background:none;
	position:relative;
}
.aboutBox.sec li{
	position:relative;
}	
.aboutBox.sec li .tex{
	width:		100%;
	font-size:	1.4rem;
	line-height: 2;
	text-align:	center;
	bottom:		0;
	margin:		0;
	padding:	0;
	color:		#fff;
	background:	rgba(0,0,0,0.4); /* 帯の透明度 */
	position:	absolute; /* 絶対位置指定 */
}	
.aboutBox::after {
	width: 100%;
	height: 161px;
	position: absolute;
	left: 0;
	bottom: 0;
	background-image: -moz-linear-gradient(0deg, rgb(27, 113, 191) 8%, rgb(27, 112, 188) 23%, rgb(27, 95, 174) 84%);
	background-image: -webkit-linear-gradient(0deg, rgb(27, 113, 191) 8%, rgb(27, 112, 188) 23%, rgb(27, 95, 174) 84%);
	background-image: -ms-linear-gradient(0deg, rgb(27, 113, 191) 8%, rgb(27, 112, 188) 23%, rgb(27, 95, 174) 84%);
	content: '';
}
.aboutBox .content {
	position: relative;
	z-index: 1;
}
.aboutBox .imgBox {
	margin-bottom: 50px;
}
.aboutBox .imgBox .textBox {
	margin-top: 3px;
	width: 47%;
	max-width: 480px;
	box-sizing: border-box;
}
.aboutBox .imgBox .textBox p {
	margin-bottom: 28px;
	text-align: justify;
	line-height: 1.56;
}
.aboutBox .imgBox .textBox .text01 {
	margin-bottom: 39px;
}
.aboutBox .comBtn01 a {
	margin: 0;
	width: 260px;
}
.aboutBox .comBtn01 a::after {
	right: 0;
}
.aboutBox .imgBox .photoBox {
	padding: 0 20px 20px 0;
	width: 48.5%;
	box-sizing: border-box;
}
.aboutBox .imgBox .photoBox img {
	width: 100%;
	box-shadow: 20px 20px 0 #badaf7;
}
.aboutBox .photoList {
	margin-top: -36px;
}
.aboutBox .photoList::after {
	width: 31.33%;
	content: '';
}
.aboutBox .photoList li {
	margin-top: 36px;
	width: 31.33%;
}
.aboutBox .photoList li img {
	width: 100%;
}
.bg02{
	background: #e6f3ff;
}
.inner02{
	padding: 50px 0;
}
.inner02.tp01{
	padding: 50px 0 0;
}	
.tit03{
	font-size: 2.2rem;
	text-align: center;
	margin: 0 0 20px;
}
.flex03{
	display: flex;
	max-width: 800px;
	margin: 0 auto;
}
.flex03 div{
	width: 50%;
	margin-right: 20px;
}
.flex03 div:last-child{
	margin-right: 0;
}	
.flex03 div video{
	width: 100%;
	height: auto;
}
.box01{
	max-width: 894px;
	border: 1px solid #e5e5e5;
	background: #fff;
	padding: 50px;
	margin: 0 auto 50px;
	box-shadow: 20px 20px 0 #badaf7;
}
.c-wrap{
	border-bottom: 1px solid #e5e5e5;
	margin-bottom: 30px;
}
ul.comli{
	list-style-type: decimal;
	margin-left: 50px;
	padding-bottom: 20px;
	font-size: 1.8rem;
}
ul.comli li::marker{
	font-size: 2.5rem;
}
ul.comli li{
	margin-bottom: 20px;
	text-align: justify;
}
.comli02{
	max-width: 894px;
	margin: 30px auto 0;
	display: flex;
	flex-wrap: wrap;
}	
.comli02 li{
	width: 46%;
	text-align: center;
	margin-bottom: 30px;
}	
.comli02 li:nth-child(odd){
	margin-right: 8%;
}		
.flex-w{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
.flex-w.b02{
	margin-bottom: 0;
}	
.flex-w >:nth-of-type(18) {
  align-items: flex-end!important;
  display: inherit;
}	
.flex-w.rev{
	flex-direction: row-reverse;
}	
.flex-w .img01{
	width: 48%;
	margin-right: 4%;
}
.flex-w .tex01{
	width: 48%;
	margin-right: 0;
}	
.flex-w.rev .img01{
	width: 48%;
	margin-right: 0;
}
.flex-w.rev .tex01{
	width: 48%;
	margin-right: 4%;
}	
.flex-w .img01.wd01{
	text-align: center;
}
.flex-w .img01.wd01 img{
	width: 60%;
}
.flex-w .img02{
	width: 48%;
	margin:0 4% 30px 0;
}
.flex-w .img02:nth-child(2n){
	margin-right: 0%;
}
.flex-w .dscp{
	font-size: 1.3rem;
	margin-top: 5px;
}	
.tit04{
	font-size: 1.7rem;
	font-weight: normal;
	color: #603b17;
	margin-bottom: 20px;
}
.flex-w .tex01 .tx{
	font-size: 1.6rem;
}
.bg03{
	background: #edfaef;
}
.inner03{
	padding: 50px;
}
.inner04{
	max-width: 1000px;
	margin: auto;
}
.wrapcon{
	border-bottom: 1px solid #d9d9d9;
	padding-bottom: 30px;
}
.tit05{
	padding: 1rem 0;
    margin-bottom: 30px;
    border-top: 1px solid #a6a6a6;
    border-bottom: 1px solid #a6a6a6;
    color: #404040;
    font-weight: bold;
    font-size: 2rem;
    text-align: center;
}
.ps01{
	font-size: 2rem;
	color: #404040;
	margin-bottom: 20px;
}
.ps02{
	font-size: 1.5rem;
	color: #404040;
	margin-bottom: 20px;
}
.table2.b02{
	max-width: 100%;
	width: 100%;
	margin-bottom: 0;
}
.aboutBox.b02{
	background:none;
	padding: 0;
	margin-bottom: 60px;
}
.aboutBox.b02.no{
	margin-bottom: 0;
}
.aboutBox.b02::after {
    height:auto;
    background-image:none;	
}	
.aboutBox.b02 .imgBox {
    margin-bottom: 0;
}
.imgBox.flexB.rev{
	flex-direction: row-reverse;
}
.cadp{
	font-size: 1.6rem;
}
.wrap-table {
    width: 100%;
    margin: 20px auto 0;
}
.comTitle02.sm {
	font-size: 9rem;
}	
.table2 {
    max-width: 800px;
    margin: 0 auto 30px;
    font-size: 1.6rem;
    border-collapse: collapse;
    border-spacing: 0;
}
.table2 th {
    background-color: #868d93;
    color: #fff;
    width: 29.9433%;
    text-align: center;
    padding: 1em;
    border: 1px solid #D3D3D3;
    line-height: 1.5;
    vertical-align: middle;
}
.table2 td {
    width: 69.989%;
    text-align: left;
    padding: 1em;
    border: 1px solid #D3D3D3;
    line-height: 1.5;
    vertical-align: middle;
}
.baseTab {
    margin:20px 0 40px;
    width: 100%;
    border-collapse: collapse;
}
.baseTab td:last-child {
    border-bottom: 1px solid #D2D2D2;
}
.baseTab td, .baseTab th {
    padding: 17px 10px 17px;
    color: #313131;
    font-size: 16px;
    text-align: left;
    line-height: 1.5;
    vertical-align: middle;
    border-top: 1px solid #D2D2D2;
}
.baseTab th {
    padding-left: 2px;
    width: 18%;
    border-top: 2px solid #287ac5;
    border-bottom: 1px solid #D2D2D2;
}

.blogcon {
    width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}
.blogcon a{
	color: #333;
}	
.left-col {
    width: 71%;
    float: left;
    padding-bottom: 20px;
}
.left-col img{
	width: 100%;
}
.right-col {
    width: 25%;
    float: right;
}
.left-col .b-tit01{
    padding: 0 0 5px 0;
    font-size: 32px;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 5px;
    margin-bottom: 30px;
    line-height: 1.2;
}
.blog-box {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: dotted 1px #ccc;
}
.blog-box .b-img {
    width: 32%;
    float: left;
    position: relative;
}
.blog-box .b-img a{
	display: block;
}
.blog-box .b-img a .photo {
    padding-bottom: 58.51%;
    position: relative;
    z-index: 1;
    background: #fff;
}
.blog-box .b-img a .photo img {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
    object-position: center center;
}
.blog-box .b-text {
    width: 64%;
    float: left;
    padding-left: 20px;
}
.blog-box .b-img img {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
}
.blog-box .b-img .wing::before {
    content: "NO-IMAGE";
    position: absolute;
    font-size: 18px;
    font-family: 'Oswald', sans-serif;
    font-weight: 300;
    color: #ccc;
    top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
.b-text ul {
    display: table;
    padding: 0;
}
.b-text li.cate {
    font-size: 13px;
    color: #fff;
    background-color: #287ac5;
    line-height: 1.3;
}
.b-text li.cate a{
    color: #fff;
}
.b-text li {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 0 20px;
}
.b-text li.date {
    font-size: 13px;
    color: #000;
    background-color: #eeeeee;
}
.blog-box .b-text h3 {
    margin: 30px 0 20px 0;
    position: relative;
    font-size: 20px;
    padding-bottom: 12px;
    line-height: 1.2;
}
.b-text .more p {
    float: right;
    border-bottom: solid 1px #535353;
    font-size: 16px;
    line-height: 1.7;
}
.b-text .more p a {
    font-size: 12px;
    font-weight: bold;
    text-decoration: none;
}
.lNavi02 {
    font-size: 19px;
    line-height: 1.2;
    margin-bottom: 30px;
}
.lNavi02.col02 .navTitle {
    float: none;
    border-right: none;
    font-weight: bold;
    background: #287ac5;
    color: #fff;
    font-size: 18px;
    padding: 15px;
    line-height: 1.2;
    text-align: center;
}
.lNavi02.col02 ul {
    margin-bottom: 0;
    padding: 0;
    border-right: 2px solid #e5e5e5;
    border-left: 2px solid #e5e5e5;
    border-bottom: 2px solid #e5e5e5;
    margin: 0;
}
.lNavi02.col02 ul li {
    float: none;
    padding: 0;
    border-bottom: 1px dotted #e5e5e5;
    margin: 0;
}
.lNavi02 > ul > li > * {
    display: block;
    position: relative;
}
.lNavi02.col02 ul li a {
    font-size: 15px;
    padding: 18px 40px 16px;
}
.lNavi02.col02 ul li a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 23px;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 7px;
    border-color: transparent transparent transparent #287ac5;
    margin: auto;
}
.clearfix:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}
.b-tit02 {
    font-size: 32px;
}
.b-text.article-cate {
    border-bottom: 1px #dcdcdc dashed;
    margin-bottom: 25px;
    padding-bottom: 15px;
}
.left-col h2 {
	margin: 10px 0;
	color: #313131;
	position: relative;
    margin-bottom: 15px;
    padding-left: 40px;
    font-size: 20px;
    font-weight: bold;
}
.left-col h2:before {
    width: 30px;
    height: 3px;
    margin-top: -2px;
    background-color: #287ac5;
    position: absolute;
    left: 0%;
    top: 50%;
    content: "";
}
.left-col h3 {
    font-size: 18px;
    margin: 20px 0;
}
.works-detail-back {
    width: 100%;
    margin: 20px 0 60px;
    border-radius: 4px;
}
.works-detail-back a {
    width: 100%;
    font-size: 13px;
    display: block;
    color: #099fec;
    padding: 15px 0;
    text-align: center;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
}
.left-col p {
    font-size: 16px;
    line-height: 1.7;
}
.single-nav {
    padding: 20px 0 50px 0;
}
.single-nav .sn-left {
    float: left;
    width: 40%;
    font-size: 1.3rem;
    line-height: 1;
}
.single .left-col a {
    color: #099fec;
}
.single-nav .sn-right {
    float: right;
    width: 40%;
    font-size: 1.3rem;
    text-align: right;
    line-height: 1;
}
.single-nav .sn-right a {
    background-image: url(../img/arrow-right.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 14px;
    background-size: 12px;
    font-size: 12px;
    color: #099fec;
    text-decoration: none;
    line-height: 1;
}
.single-nav .sn-left a {
    background-image: url(../img/arrow-left.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 14px;
    background-size: 12px;
    font-size: 12px;
    color: #099fec;
    line-height: 1;
    text-decoration: none;
}

.pagination {
    margin: 20px 0 30px;
}
.nav-links {
    display: flex;
}
.pagination .page-numbers {
    display: inline-block;
    margin-right: 10px;
    padding: 1px 10px;
    color: #0f1419;
    border-radius: 3px;
    background: #fff;
    border: 1px solid #287ac5;
}
.pagination .current {
    background: #287ac5;
    color: #fff;
}
.pagination .prev,
.pagination .next {
    background: transparent;
    box-shadow: none;
    color: #287ac5;
}
.pagination .dots {
    background: transparent;
    box-shadow: none;
    border: none;
}
.formtable {
    font-size: 15px;
    width: 800px;
    margin: 30px auto;
    border: 1px solid #ccc;
}
table.formtable {
    border-collapse: collapse;
    border-spacing: 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    padding: 0;
    vertical-align: bottom;
    list-style-type: none;
    text-align: justify;
}
.formtable th {
    text-align: left;
    font-weight: normal;
    background: #efefef;
    padding: 15px 10px;
    width: 220px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    vertical-align: middle;
    box-sizing: border-box;
}
.formtable td {
    ont-size: 16px;
    padding: 15px 10px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
}
.formtable span.must {
    background: #dd0000;
    font-size: 0.8rem;
    color: #eee;
    text-align: center;
    width: 50px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    display: block;
} 
.submit {
    text-align: center;
    margin: auto;
    display: block;
} 
.wpcf7-form-control.wpcf7-submit {
    display: block;
    margin: 30px auto 20px auto;
    padding: 10px 220px;
    font-size: 20px;
    background-color: #32abe8;
    color: #fff;
    border-style: none;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    cursor: pointer;
}  
.contact-tel {
    width: 800px;
    margin: 20px auto;
    box-sizing: border-box;
}	
.contact-tel .left {
    font-size: 16px;
    width: 400px;
    float: left;
    padding: 20px;
    background-color: #F5F5F5;
    height: 90px;
    text-align: center;
    box-sizing: border-box;
    font-weight: bold;
}
.contact-tel .right {
    font-size: 32px;
    width: 400px;
    font-weight: bold;
    float: left;
    padding: 20px;
    background-color: #E2E2E2;
    height: 90px;
    text-align: center;
    box-sizing: border-box;
}
.contact-tel .right a{
	color: #333;
}	
.contact-tel .right p{
	font-size: 13px;
	font-weight: normal;
}	
.contact-tel .left span {
    color: #dd0000;
}
.wpcf7-response-output,.screen-reader-response,.wpcf7-not-valid-tip{
	color:#ff0000;
	font-size: 18px;
}
.caution{
	font-size: 14px;
}
.fs16{
	font-size: 1.6rem;
}
.grecaptcha-badge { visibility: hidden; }

.con-rec-wd{
	max-width: 1100px;
	margin: 0px auto;	
	background: #fff;
}
.con-rec-wd{
	background: #1860a1;
}
.wrap-p{
	display: flex;
	flex-wrap: wrap;
	padding: 40px 0;
}
.wrap-p .photo{
	max-width: 805px;
}	
.wrap-p .tex{
	background: #2687de;
	padding: 50px;
	color: #fff;
	margin:50px 0 0 -100px;
	height: 100%;
	font-size: 16px;
}	
.wrap-p .tex .c-name{
	position: relative;
	margin-bottom: 30px
}
.wrap-p .tex .p-name{
	padding-top: 10px;
}	
.wrap-p .tex .c-name:after{
	width: 40px;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -20px;
    background: #fff;
    content: '';
}	
.con-rec-wb-wh{
	max-width: 900px;
	margin: 30px auto 0;
	padding: 60px;
	background: #fff;
}
.con-rec-wb-wh p{
	font-size: 16px;
	line-height: 2;
}	
.con-rec-wd-wh02 {
    max-width: 1100px;
    margin: 0px auto;
    background: #fff;
 }   
.tit06{
	font-size: 26px;
	color: #1860a1;
	border-bottom: 1px solid #a6a6a6;
	margin-bottom: 20px;
	padding-bottom: 10px:	 
} 
.inner05{
	max-width: 900px;
	margin: 0 auto;
	padding: 30px 0 60px;
}
.table2.rec{
	max-width: 900px;
}
.comBtn01.rec a{
	margin: 50px auto 10px;
	padding: 30px 40px 30px 30px;
}
@media all and (max-width: 1100px) {
	.p-tit {
	    padding: 20px 0 0;
	    margin-bottom: 10px;
	 }   
	.p-tit.greeting {
	    background: url(../img/p-tit01@2x.jpg) no-repeat center;
	    background-size: cover;
	}
	.tit01b {
    	font-size: 10rem;
    }
    .tit01 {
    	font-size: 2.4rem;
    	margin-left: 6px;
    }	
	.p-tit.greeting {
	    background: url(../img/p-tit01.jpg) no-repeat center;
	    background-size: cover;
	}    
	#pagePath {
	    margin: 0 auto 10px;
    }
	.mess-box {
	    max-width: 1700px;
	    margin: 0 auto 30px;
	}
	.rUl {
    	margin: 0 0 0 50px;
    	padding: 40px 0;
    }
	.rUl li a {
		font-size: 1.3rem;
	}	
	.rUl li:nth-child(n+4) {
	    margin-bottom: 20px;
	}	
	.tit02{
		font-size: 2.2rem;
		color: #fff;
	}
	.tit02b{
		font-size: 1.4rem;
		color: #fff;
	}
	.mb-wrap {
	    padding: 20px;
	}	
	.mb-wrap .cbox {
	    margin-bottom: 20px;
	}		
	.mb-wrap .cphoto {
	    margin-right: 0;
	    text-align: center;
	    position: relative;
	    z-index: 10;
	}	
	.mb-wrap .cphoto img {
	    max-width: 100%;
	}	
	.mb-wrap .ctex {
	    margin: auto;
	    width:100%;
	}	
	.mb-wrap .ctex .comtext {
	    margin-right: 0;
	    padding: 24px;
	    width: auto;
	}	
	.mb-wrap .ctex .comtext::before {
	    font-size: 5.2rem;
	    color: #ebf5fc;
	    top: 0;
	    left: 44px;
	}
	.mb-wrap .ctex .comtext .subbox {
	    width: auto;
	}	
	.h3ttl {
	    font-size: 2rem;
	    padding: 0 0 15px 40px;
	    margin-bottom: 0px;
	}
	.h3ttl:before {
	    width: 30px;	
	}    
	.p-tit::before {
	    width: 72px;
	    height: 35px;
	    background-image: url(../img/index/sp_bg01.png);
	}	
	.p-tit::after {
	    width: 91px;
	    height: 42px;
	    background-image: url(../img/index/sp_bg02.png);
	}	   
	.blogcon {
	    padding: 0 10px;
	    width: auto;
	}	
	.left-col {
	    width: 100%;
	    float: none;
	}
	.b-tit01 {
	    font-size: 24px!important;
	    margin: 20px 0 0 0!important;
	    padding: 0 0 5px 0!important;
	}	
	.blog-box {
	    margin-top: 0;
	    padding-top: 20px;
	}
	.blog-box .b-img {
	    width: 100%;
	    float: none;
	}
	.blog-box .b-img img {
	    width: 100%;
	    float: none;
	}
	.blog-box .b-text {
	    width: 100%;
	    float: none;
	    padding-left: 0;
	}
	.b-text ul {
	    margin-top: 20px;
	}
	.b-text li.cate, .b-text li.date {
	    padding: 0 10px;
	    font-size: 12px;
	}
	.b-text li {
	    display: block;
	}
	.blog-box .b-text h3 {
	    margin: 20px 0 20px 0;
	}
	.blog-box .b-text h3 a {
	    font-size: 18px;
	}
	.right-col {
	    width: 100%;
	    float: none;
	}
	.b-tit02 {
	    margin-top: 20px;
	    line-height: 1.2;
	    font-size: 22px;
	}
	.left-col h2{
		font-size: 20px;
		padding-left: 28px;
	}
	.left-col h2:before {
	    width: 20px;
	    margin-top: 0px;	
	}	
	.works-detail-back {
	    margin: 20px 0 20px;
	}	 
	.wrap-p .tex {
	    margin: 50px 0 0;
	}		
	.inner05 {
		padding: 30px 20px 60px 
	}		
	.table2.rec {
	    max-width: 100%;
	    padding: 0;
	    width: 100%;
	}
	.comBtn01.rec a {
	    margin: 30px auto;
	}   	
}	
	
@media all and (max-width: 896px) {
	.tit01 {
    	font-size: 2rem;
    	padding: 0 0 8px 36px;
    	margin: 80px 0 0 5px;
    }
    .tit01:before {
	    width: 30px;
	    height: 2px;
	}  
	.tit01b {
	    font-size: 6rem;
	}	
	.p-tit {
	    padding: 20px 0 0;
	    margin:0 0 2px 0;
	}
	#pagePath {
		font-size: 1.1rem;
		margin: 0 0 0px 5px;
		padding: 10px 0;
	}	
	.breadcrumbs.content{
		margin: 0!important;
	}
	.pointBox {
		margin-bottom: 0;
	}
	.pointBox .bgBox {
		margin-left: 0;
		padding: 0;
		margin-bottom: 30px;
	}
	.pointList {
		margin: 0 0 21px 20px;
		display: block;
		padding-bottom: 30px;
	}
	.pointList li {
		margin-bottom: 23px;
		padding: 0 20px 24px 30px;
		display: block;
		position: relative;
	}
	.pointList li::before {
		position: absolute;
		left: 10px;
		top: 3px;
		right: 0;
		bottom: 0;
		background: #fff;
		content: "";
	}
	.pointList li .textBox {
		margin-bottom: 19px;
		width: auto;
		position: relative;
		z-index: 1;
	}
	.pointList li .textBox .textWrap {
		padding: 1px 0 0;
		width: auto;
		max-width: inherit;
		min-height: inherit;
		background: transparent;
	}
	.pointList li .textBox .textWrap::before {
		display: none;
	}
	.pointList li .title {
		margin: -3px 0 10px -31px;
	}
	.pointList li .title .num {
		padding-bottom: 0;
		width: 53px;
		min-height: 55px;
		font-size: 2.5rem;
	}
	.pointList li .textBox .textInner {
		margin-left: 0;
	}
	.pointList li .textBox p {
		line-height: 1.667;
		font-size: 1.2rem;
	}
	.pointList li .photoBox {
		margin-top: 0;
		width: auto;
		position: relative;
		z-index: 1;
	}
	.pointList li .photoBox .en {
		display: none;
	}
	.pointList li:nth-child(2n-1) .textBox .textWrap {
		margin-left: 0;
	}
	.pointList li:nth-child(2n) .textBox .textWrap {
		padding: 0;
		width: auto;
	}
	.pointList li:nth-child(2n) .textBox .textInner {
		margin: 0;
	}
	.point02 {
		width: auto;
		margin: 20px auto 0px;
		position: relative;
		z-index: 1;
		flex-wrap: wrap;
	}
	.point02 .ttlbox {
    	width: 100%;
    	padding: 16px 0;
    }
    .point02 .libox {
    	width: 100%;
    	padding: 20px 0 0 0;
    }	
    .point02 .libox li {
	    margin-bottom: 0px;
	    padding: 0px 0px 10px;
	    font-size: 13px;
	}    	
    .point02 li::before{
    	position: static;
    }
    .point02 .ttlbox p {
	    font-size: 15px;
	}    
	.blog-box{
		padding-bottom: 25px;
		margin-bottom: 10px;
    }
    .ttlst {
    	font-size: 13px;
    	padding: 0 0 15px 25px;
    }
    .ttlst:before{
	    width: 18px;
    }
    .po02dscp {
    	font-size: 12px;
    }	
	.ttl02 {
	    font-size: 1.8rem;
	    margin-bottom: 15px;
	    padding-bottom: 5px;
	}    
	.inner01 {
	    padding: 30px 14px;
	}
	.flex02{
	  display: flex;
	  flex-direction: row;
	  flex-wrap: wrap;
	  justify-content: ;
	}
	.flex02 .item{
		flex-basis: 48.5%;
		margin-right: 10px;
		margin-bottom: 10px;
	}	
	.flex02 .item:nth-child(2n){
		margin-right: 0;
	}
	.flex02 .item:nth-child(3n){
		margin-right: auto;
	}	
	.flex02 .item .ttl {
	    font-size: 1.2rem;
	}
	
	.aboutBox {
		margin-bottom: 24px;
		padding: 15px 0 0;
		background: #f4faff;
	}
	.aboutBox::after {
		display: none;
	}
	.aboutBox .content {
		margin: 0;
	}
	.aboutBox .imgBox {
		margin-bottom: 0;
		padding: 0 20px 24px;
		display: block;
		position: relative;
	}
	.aboutBox .imgBox::after {
		width: 100%;
		height: 67vw;
		position: absolute;
		left: 0;
		bottom: 0;
		background: #e6f3ff;
		content: "";
	}
	.aboutBox .imgBox .textBox {
		margin: 0 0 22px;
		width: auto;
		max-width: inherit;
		position: relative;
		z-index: 1;
	}
	.aboutBox .imgBox .textBox p {
		margin-bottom: 20px;
		line-height: 1.428;
	}
	.aboutBox .imgBox .textBox .text01 {
		margin-bottom: 0;
	}
	.aboutBox .imgBox .textBox p:last-child {
		margin-bottom: 0;
	}
	.aboutBox .comBtn01 {
		padding: 11px 20px 10px;
	}
	.aboutBox .comBtn01 a {
		margin: 0 auto;
		padding: 8px 20px 10px 20px;
		width: 200px;
	}
	.aboutBox .comBtn01 a .sm {
		margin-bottom: -2px;
	}
	.aboutBox .imgBox .photoBox {
		padding: 0 11px 11px 1px;
		width: auto;
		position: relative;
		z-index: 1;
	}
	.aboutBox .imgBox .photoBox img {
		box-shadow: 11px 11px 0 #badaf7;
	}
	.aboutBox .photoList {
		margin: -5px 0 0;
		padding: 9px 20px 9px;
		background: #badaf7;
	}
	.aboutBox .photoList::after {
		width: 32.2%;
	}
	.aboutBox .photoList li {
		margin-top: 5px;
		width: 32.2%;
	}
	.aboutBox.sec .photoList li {
		width: 1002%;
	}	
	.inner02 {
	    padding: 25px 15px;
	}
	.inner02.tp01 {
	    padding: 25px 15px;
	}
	.aboutBox.sec .flexB{
		flex-wrap: wrap;
	}
	.flex03{
		flex-wrap: wrap;
	}
	.flex03 div {
	    width: 100%;
	    margin-right: 0;
	}
	.box01 {
		padding: 20px;
		margin: 30px 10px 10px 0px;
		box-shadow: 10px 10px 0 #badaf7;
	}	
	ul.comli {
		font-size: 1.4rem;
		margin-left: 20px;
		
	}	
	ul.comli li::marker {
	    font-size: 1.8rem;
	}
	.comli02 li {
    	width: 90%;
    	margin: 0 auto 20px;
    }	
	.comli02 li:nth-child(odd){
		margin: 0 auto 20px;
	}
      
	.table2 th {
	    width: 100%;
	    display: block;
	    padding: 8px 0px;
	    font-size: 14px;
	    text-align: center;
	    box-sizing: border-box;
	    border: none;
    }
    .table2 td {
	    width: 100%;
	    display: block;
	    padding: 10px;
	    font-size: 14px;
	    box-sizing: border-box;
	}   
	.baseTab {
	    margin-bottom: 25px;
	}
	.baseTab th {
	    padding: 8px 10px 9px;
	    width: 100%;
	    color: #040000;
	    text-align: center;
	    border-top: 1px solid #287ac5;
	    border-bottom: 1px dotted;
	    box-sizing: border-box;
	    float: left;
	    font-size: 15px;
	    font-weight: normal;
	    line-height: 1.5;
	}
	.baseTab td {
	    padding: 14px 0px 14px;
	    box-sizing: border-box;
	    float: left;
	    width: 100%;
	    font-size: 15px;
	    line-height: 1.5;
	    border-top: none;
	}
	.baseTab td:last-child {
	    border-bottom: 0;
	}	
	.flex-w.b02 {
		margin-bottom: 0;
	}
	.flex-w .img01,.flex-w.rev .img01 {
	    width: 100%;
	    margin: 0 0 20px 0;
	}

	.flex-w .tex01,.flex-w.rev .tex01 {
	    width: 100%;
	    margin: 0;
	}
	.tit04 {
	    font-size: 1.6rem;
	    margin-bottom: 10px;
	}
	.flex-w .tex01 .tx {
	    font-size: 1.4rem;
	}    
	.flex-w .img02 {
	    width: 100%;
	    margin: 0 0 20px 0;
	}	  
	.inner03 {
	    padding: 17px;
	}	
	.tit05{
		font-size: 1.5rem;
		margin-bottom: 14px;
	}
	.ps01 {
		font-size: 1.5rem;
		font-weight: bold;
	}
	.ps02 {
   		 font-size: 1.4rem;	
   	}	
   .p-bg01.wh {
	    padding: 20px 0;
	    margin-bottom: 30px;
	}	
	.comTitle02.sm {
	    font-size: 4rem;
	} 
	.inner01.wh {
	    background: #fff;
	    margin: 10px;
	}
	.bbg-mb{
		margin-bottom: 30px;
	}	
		.contact-tel {
	    width: 90%;
	}
	.contact-tel .left, .contact-tel .right {
	    width: 100%;
	    float: none;
	    margin: auto;
	    padding: 10px;
	    height: auto;
	}
	.contact-tel .right {
	    font-size: 24px;
	}
	.combox.sitemap .flex{
		display: flex;
	    flex-wrap: wrap;
	}	
	table.formtable{
		margin: 20px 0;	
		font-size: 15px;
		width: auto;
	}		 	
	.formtable{
		border-top: 0;
	}
	.formtable th {
	    text-align: center;
	    width: 100%;
	    display: block;
	    padding: 8px 0px;
	    border-top: 1px solid #ccc;
	    border-bottom: 1px solid #ccc;
	}	
	.formtable td {
	    width: 98%;
	    display: block;
	    padding: 10px;
	    font-size: 14px;
	    border:0; 
	}	
	.formtable span.must {
	    margin: auto;
	}
	.wpcf7-form .wpcf7-text {
	    width: 100%;
	}
	.wpcf7-form .wpcf7-textarea {
	    width: 100%;
	}
	.wpcf7-form-control.wpcf7-submit {
		height: 45px;
	    padding: 12px;
	    width: 280px;
	    margin: 30px auto 10px auto;
	    font-size: 16px;
	} 
	.submit{
		padding: 15px;
	}
	.inner04 {
	    padding: 10px;
	}
	.wrap-p {
	    padding: 20px 0 0;
	}	
.wrap-p .tex {
    margin: 20px 0 0;
}	
.wrap-p .tex {
    background: #2687de;
    padding: 50px;
    color: #fff;
    margin: 20px 0 0 0;
    font-size: 15px;
}	
.con-rec-wb-wh {
    margin: 22px auto 0;
}
.con-rec-wb-wh {
    padding: 30px; 
    font-size: 15px;
}
.con-rec-wb-wh p {
    font-size: 15px;    	
}
.inner05 {
    padding: 20px 20px 60px;
}
.tit06 {
    font-size: 18px;
}    
}
