@charset "UTF-8";
/*
	BASE
*******************************/
/*
font-family: 'Lato', sans-serif;
*/
* {
	font-family: "游ゴシック Medium","Yu Gothic Medium","游ゴシック体",YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,'Hiragino Kaku Gothic Pro',Osaka, "ＭＳ Ｐゴシック", "MS PGothic",sans-serif;
	margin: 0;
	padding: 0;
}
.f-min {
	font-family: 游明朝,"Yu Mincho",YuMincho,'Noto Serif JP', "Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}
html {
	font-size:62.5%;
	line-height:1em;
}
body {
	font-size:1.6rem;
}

img {
	vertical-align:bottom;
	line-height:0;
	-webkit-backface-visibility: hidden;
}


p,th,td,dt,dd,li,h1,h2,h3,h4,h5,h6 { color:#202020;}

a,
a:link,
a:visited {
	color:#202020;
	text-decoration:none;
	outline:none;
	border:none;
}
a:hover {
	color:#023894;
	text-decoration:none;
}

a img {
	outline:none;
	border:none;
	-webkit-backface-visibility: hidden;
}
area {
	border:none;
	outline:none;
}

.clear { clear:both;}

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

/*//////////////////////////////////////////////////////////////////////////*/



/*
	BASE LAYOUT
******************/

body {
	min-width:1024px;
}

#main {
	width:100%;
	margin:0;
	padding:0;
}
#main {
	width:100%;
	margin:0 auto;
	padding:0;
}
#main p {
	font-size:1.6rem;
	line-height: 2em;
	margin: 0 0 1em;
	padding:0;
}


/*//////////////////////////////////////////////////////////////////////////*/


/*基本：左右配置　上下センター　折り返しなし*/
.fbox {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
}

/*折り返しなし*/
.fbox.nowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

/*左寄せ*/
.fbox.bxstart {
  -webkit-box-pack: start;
     -ms-flex-pack: start;
   justify-content: flex-start;
}

/*右寄せ*/
.fbox.bxend {
  -webkit-box-pack: end;
     -ms-flex-pack: end;
   justify-content: flex-end;
}

/*中央寄せ*/
.fbox.bxcenter {
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
}

/*上寄せ*/
.fbox.alstart {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

/*下寄せ*/
.fbox.alend {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

/*上下中央*/
.fbox.alcenter {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    align-content: center;
}

/*上下端*/
.fbox.albt {
  -ms-flex-line-pack: justify;
       align-content: space-between;
}

/*上下均等*/
.fbox.linedist {
  -ms-flex-line-pack: distribute;
       align-content: space-around;
}



/*子要素に設定　順番を1番目に*/
.pos0 {
  -webkit-box-ordinal-group: 1;
             -ms-flex-order: -1;
                      order: -1;
}

/*//////////////////////////////////////////////////////////////////////////*/

/*
	Contents LAYOUT
******************/
#contents {
}

#contents.p404 h1 {
	font-size:1.4em;
	margin-bottom:1em;
	text-align:center;
}
#main #contents.p404 p {
	text-align:center;
}

.wp-pagenavi {
	text-align:center;
	margin: 30px 0;
	color:#333333;
}
.wrap .wp-pagenavi a,
.wrap .wp-pagenavi span,
.wrap .wp-pagenavi span.current {
}
.wrap .wp-pagenavi span.current {
	background:#204b8d;
	color:#ffffff;
}
.wrap .wp-pagenavi span {	
}
.wrap .paging {
	width:100%;
	text-align:center;
}
.wrap .paging > a {
	margin:0 2em;
}
.wrap .paging > div {
}

#wpfront-scroll-top-container {
	width:50px;
	height:50px;
}


/**contact**/
#contact .wrap {
	background:url(../img/top/contact_bg.jpg) no-repeat center center;
	background-size:cover;
	padding:100px 0;
}
#contact .wrap h2 {
	font-size:6.0rem;
    font-family: 'Lato', sans-serif;
    font-weight:500;
    letter-spacing:0.05em;
    text-align:center;
    line-height:1;
    margin-bottom:1em;
    color:#ffffff;
    border:none;
    padding:0;
}
#contact .wrap h2 span {
    display:block;
    font-size:2.1rem;
    line-height:1;
    font-weight:600;
    letter-spacing:normal;
    padding:.8em 0 0;
    color:#ffffff;
}
#contact ul {
	width:100%;
	margin-bottom:50px;
}
#contact ul li:first-child {
	border-left:1px solid #ffffff;
}
#contact ul li {
    width:calc(100%/3 - 1px);
    text-align:center;
    box-sizing:border-box;
    border-right:1px solid #ffffff;
    padding:30px 0;
}
#contact ul li img {
	display:block;
    width:20%;
    margin:0 auto 25px;
}
#contact h3 {
	color:#ffffff;
	font-size:2.8rem;
	line-height:1;
	margin-bottom:1em;
}
#contact li > a {
	display:block;
	margin:0 auto;
	font-size:1.4rem;
	line-height:2.6;
	width:14em;
	text-align:center;
	background:#Ffffff;
	border:3px solid #ffffff;
	transition:.3s;
}
#contact li > a:hover {
	background:none;
	color:#ffffff;
}
#contact div.fbox {
    width:100%;
    box-sizing:border-box;
    background:rgba(255,255,255,.8);
    padding:20px 60px;
}
#contact div.fbox p {
	font-size:3.0rem;
	margin:0;
	font-weight:600;
}
#contact div.fbox > a {
	background:#faa121;
	text-align:center;
	width:22em;
	font-size:2.0rem;
	color:#ffffff;
	line-height:3.6;
	transition:.3s;
	border:3px solid #faa121;
}
#contact div.fbox > a::before {
	content:'';
	display:inline-block;
	width:1.4em;
	height:1.4em;
	background:url(../img/common/mailw.png) no-repeat center center;
	background-size:contain;
	margin-right:1.2em;
	position:relative;
	top:.3em;
	transition:.3s;
}
#contact div.fbox > a:hover {
	background:#ff6600;
}

#link .wrap {
	padding-bottom:150px;
}
#link .fbox {
	width:100%;
}
#link .fbox a {
	font-size:2.4rem;
	line-height:3;
	width:12em;
	box-sizing:border-box;
	padding-left:4em;
	margin:0 1.5em;
	box-sizing:border-box;
	border:1px solid #204b8d;
	background-repeat:no-repeat;
	background-position:left .5em center;
	background-size:auto 90%;
}
#link .fbox a:hover {
    opacity:.66;
}

#link .fbox a.purpose {
	background-image:url(../img/company/icon1.png);
}
#link .fbox a.office {
	background-image:url(../img/company/icon2.png);
}
#link .fbox a.about {
	background-image:url(../img/company/icon3.png);
}
#link .fbox a.company {
	background-image:url(../img/faq/icon4.png);
}
#link .fbox a.processing {
	background-image:url(../img/faq/icon3.png);
}
#link .fbox a.technicaldata {
	background-image:url(../img/faq/icon4.png);
}


@media screen and (max-width:640px){
	
body {
	min-width:100%;
}

#main p {
	font-size:3.6vw;
	line-height: 1.8em;
}
	
a:hover {
	color:#333333;
}

.wrap .paging {
	padding-top:30px;
	font-size:1.4rem;
}
.wrap .wp-pagenavi a,
.wrap .wp-pagenavi span,
.wrap .wp-pagenavi span.current {
	font-size:1.4rem;
}

/**contact**/
#contact .wrap h2 {
	font-size:9vw;
}
#contact .wrap h2 span {
    font-size:4vw;
}
#contact .wrap {
	padding:15vw 0 10vw;
}
#contact ul {
	margin-bottom:5vw;
}
#contact ul li:first-child {
	border:none;
}
#contact ul li {
    padding:0 0 10vw;
	width:100%;
	border:none;
}
#contact ul li img {
    width:15%;
    margin:0 auto 5vw;
}
#contact h3 {
	font-size:6vw;
}
#contact li > a {
	font-size:3.6vw;
	width:14em;
	transition:0;
}
#contact li > a:hover {
	background:#Ffffff;
	color:#202020;
}
#contact div.fbox {
    width:calc(100% + 40px);
    padding:8vw 20px;
    margin:0 -20px;
}
#contact div.fbox p {
	font-size:5vw;
	width:100%;
	text-align:center;
	margin:0 0 .5em;
}
#contact div.fbox > a {
	width:100%;
	font-size:4.5vw;
	line-height:3.6;
	transition:0;
}
#contact div.fbox > a::before {
	transition:0;
}
#contact div.fbox > a:hover {
	background:#faa121;
}
	
#link .wrap {
	padding-bottom:60px;
}
#link .fbox a {
	font-size:1.4rem;
	line-height:3;
	width:calc(50% - .6em);
	box-sizing:border-box;
	padding-left:4em;
	margin:0 .2em;
}

}

@media screen and (max-width: 768px){
#contact .wrap {
	background:url(../img/top/contact_bg.jpg) no-repeat;
	background-size:cover;
	padding:100px 0;
}
	
}


#responsive-menu-container {
	top:65px!important;
}
button#responsive-menu-button {
	width:40px!important;
	height:40px!important;
	top:25px!important;
	right:5px!important;
	background:none!important;
}
button#responsive-menu-button .responsive-menu-inner,
button#responsive-menu-button span::before,
button#responsive-menu-button span::after {
	background-color:#202020!important;
}

#responsive-menu li:not(.menu-item-has-children) a {
	background: url(../img/common/arroww_right.png) no-repeat right 15px center;
	background-size:auto 30%;
}

#responsive-menu-additional-content .spmenu2 {
	width:100%;
	padding-top:30px;
}
#responsive-menu-additional-content .spmenu2 > a:first-child {
	width:100%;
	text-align:center;
	background:#ffffff;
	color:#023894;
	font-size:1.8rem;
	font-weight:600;
	line-height:3.5;
	border-radius:4px;
	margin-bottom:20px;
}
#responsive-menu-additional-content .spmenu2 a:nth-child(n+4) {
	width:30px;
	margin:10px 30px 0;
}


@media screen and (max-width: 640px){

	.pcOnly {
		display:none;
	}
	
}


@media screen and (min-width: 641px){
	.spOnly {
		display:none;
	}
}


/*=================================
* ポップアップ
/*=================================*/
.popup-overlay {
    position: fixed;
    z-index: 9999; /* 他の要素より手前に表示 */
    bottom: 2%;
    right: 2%;
}
/* 画像を囲む枠 */
.popup-content {
    position: relative;
    text-align: center;
	max-width: 350px;
}
/* 閉じるボタンのデザイン */
.close-btn {
    position: absolute;
	opacity: 0;
    top: 0;
    right: 0;
    background: #fff;
    color: #333;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
@media screen and (max-width: 767px){
	.popup-content {
		max-width: 200px;
	}
}