/*------------------------------------*\
  基本
\*------------------------------------*/
html {
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}
body {
	overflow-x: hidden;
	font-size: 110%;
	background:#FFF;
	color:#333;
 	font-family: 'Sawarabi Gothic',"游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
	font-weight: 400;
}
h1, h2, h3, h4, h5,h6 {
	font-family: 'Josefin Sans','Sawarabi Gothic',"游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
	font-weight:700;
}
body.page,body.archive,body.single{
	background: url(../img/line6.png) top left no-repeat;	
	background-size:100%;
}
body.home{
	background: #FFF;	
}
/*body.page::after {
	position:absolute;
	top:260px;
	left:0;
	display:block;
	content:'';
	width:100%;
	height:5px;
	background:linear-gradient(to Right,#FFF,#c3a537,#FFF);
}*/
body.home main{
	background: url(../img/home/bg_home.png) center top repeat-y;
}
.grid-container{
	max-width:1200px;
}
.small {
	font-size:0.9rem;
}
.lead {
	font-size: 1.05em;
	line-height: 1.9;
}
p.large {
	font-size: 1.2rem;
	line-height: 1.9;
}
.lead.line {
	font-size: 1.05em;
	line-height: 1.9;
	padding:0 0 10px 0;
	border-bottom:1px solid #bbb;
	margin-bottom:4vh;
}
.section_inner {
    max-width:1200px;
    margin: 0 auto;
}
strong.red {
	color:#e70000;
}
strong.price{
	font-size:1.4rem;
	color:#C00;
}
.mt0 {
	margin-top:0px;
}
.mt5 {
	margin-top:5px;
}
.mt10 {
	margin-top:10px;
}
.mt20 {
	margin-top:20px;
}
.mt30 {
	margin-top:30px;
}
.mb0 {
	margin-bottom:0px;
}
.mb5 {
	margin-bottom:5px;
}
.mb10 {
	margin-bottom:10px;
}
.mb20 {
	margin-bottom:20px;
}
.mb30 {
	margin-bottom:30px;
}
.mb40 {
	margin-bottom:40px;
}
.mt10 {
	margin-top:10px;
}
.mt20 {
	margin-top:20px;
}
.mt30 {
	margin-top:30px;
}
.mt40 {
	margin-top:40px;
}
.bnr {
	margin:10px 0;
}
.font-en{
	font-family: 'Josefin Sans', sans-serif;
	font-size:1.2em;
}
.font-blue{
	color:#2e9ace;
}
figure{
	margin:0 0 10px 0;
}
figure.icon{
	max-width:130px;
	text-align:center;
	margin:0 auto 10px;
}
.inner {
	padding:2em;
}
.svg-sprite{
	position:absolute;
	z-index:-10;
}
/*--------------------------------
 ly
--------------------------------*/
.ly_inner{
	padding:3vw 0;
}
.ly_mv{
	max-width:80em;
	margin:0 auto;
}
/*--------------------------------
 video
--------------------------------*/
.video-container {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
.video-container iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
video{
	width:100%;
}
/*--------------------------------
 img
--------------------------------*/
img.img-circle {
	border-radius:50%;
}
img.img-small {
	max-width:240px;
	height:auto;
}
img.img-border{
	border:1px solid #CCC;
	padding:20px;
	background:#FFF;
}
a:link, a:active, a:visited {
	color:#000;
}
a img {
	box-shadow:0 0 0 #000;
	transition:all linear 200ms;
}
a img:hover {
	opacity:0.9;
}
a .frame {
	color:#000;
}
a .frame:hover {
	color:#888;
}
a.underline{
	text-decoration:underline;
}
img.border {
	border:1px solid #ccc;
}
img.grayfilter {
	-webkit-filter: grayscale(1); /* Webkit */
	filter: gray; /* IE6-9 */
	filter: grayscale(1); /* W3C */
}
.shadow {
	box-shadow:0 0 6px rgba(0,0,0,0.3);
	transition:all ease-in-out 0.3s;
}
.shadow:hover {
	background:#f7f7f7;
	box-shadow:0 0 0 rgba(0,0,0,0.3);
}
.bgB{
	background:#ebf4fc;
	border-radius:6px;
}
.bgO{
	background:#faeee6;
}
/*--------------------------------
 header
--------------------------------*/
header {
	/*max-width:1000px; header幅*/
	margin:0 auto;
	z-index:10;
	position:sticky;
	background:#FFF;
}
.desc {
	color:#de0202;
	font-size:0.8rem;
	margin:3px 0 0 0;
}
header h1.logo{
	margin-top:5px;
	z-index:10;
	width:52px;
	height:70px;
	background:url(../img/logo_color.svg) no-repeat;
	background-size:contain;
	text-indent:-9999px;
}
header h1.logo a{
	display:block;
	width:52px;
	height:70px;
	background:url(../img/logo_color.svg) no-repeat;
	background-size:contain;
}
header .flex-wrapper{
	display:flex;
	flex-wrap:wrap;
}


@keyframes headerAni{
	0%{
	padding:0;
	background:rgba(255,255,255,0);		
	}
	100%{
		background:rgba(255,255,255,1);			
	}
}
.navWrapper{
	position:relative;
	height:70px;
}
header .navWrapper #mega-menu-wrap-topnav{
	margin:0 80px 0 0;
	padding-top:10px;
}
header .navWrapper .hovernav{
	position:absolute;
	top:0;
	right:0;
	background:#2e9ace url(../img/humberger.svg) no-repeat center top 5px!important;
	padding:40px 10px 0 10px!important;
	background-size:32px!important;
	z-index:1000;
text-align:center;
	display:inline-block;
	width:70px;
	height:70px;
	color:#FFF!important;
	font-size:.9rem!important;
}

@media(max-width:767px){
	header h1.logo{
	width:42px;
	height:50px;
	background:url(../img/logo_color.svg) no-repeat;
	background-size:contain;
		margin:0;
}
header h1.logo a{
	width:42px;
	height:50px;
	background:url(../img/logo_color.svg) no-repeat;
	background-size:contain;
}
	#mega-menu-wrap-topnav{
		display:none;
	}
}

/*navAll*/
#navAll{
	position:fixed;
	top: 50%;
   left: 50%;
	width:90vw;
	height:90%;
	transform:translate(-50%,-50%);
	background:rgba(46,154,206,.9);
	display:none;
	z-index:1000;
	padding:30px;
	color:#FFF;
}

#navAll .closeButton{
	margin-bottom:40px;
}
#navAll .flex-wrapper{
	padding:30px;
}
#navAll .flex-wrapper a{
	color:#FFF;
}
#navAll .flex-wrapper .flex-one{
	margin-bottom:30px;
}
#navAll h2{
	font-size:1.6rem;
	text-align:left;
	border-bottom:1px solid #FFF;
}
#navAll ul{
	margin:20px 10px;
	list-style:none;
	text-align:left;
}
#navAll ul li{
	font-size:1.3rem;
}
#navAll .closeButton{
	text-align:center;
}
#navAll .closeButton a.close{
	color:#FFF;
	font-weight:700;
	font-size:1.6rem;
}
@media (max-width:40em) {
header {
	padding:5px 10px;
}

header .navWrapper {
	height:auto;
	position:absolute;
	top:0;
	right:0;
}
header .navWrapper #mega-menu-wrap-topnav{
	margin:0 50px 0 0;
	padding:0;
}
header .navWrapper .hovernav{
	background:#2e9ace no-repeat center top 5px!important;
	padding:0!important;
	text-align:center;
	display:inline-block;
	width:60px;
	height:60px;
	line-height:60px;
}
#navAll .flex-wrapper{
	padding:15px 0;
}
#navAll .closeButton{
	margin-bottom:15px;
}
#navAll .flex-wrapper .flex-one{
	margin-bottom:15px;
}
#navAll h2{
	font-size:1.1rem;
}
#navAll ul{
	margin:0 10px;
}
#navAll ul li{
	font-size:1rem;
}
}
@media (min-width:40em) {
h1.logo {
	position:absolute;
	top:0;
	left:10px;
	padding:0;
	line-height:1;
}

}
/*--------------------------------
 content
--------------------------------*/
.titleBox {
	background:#e70000;
	position:relative;
}
.titleBox h2 {
	color:#FFF;
	font-size:1.7em;
	text-align:center;
	padding:7px;
}
.titleBox h3 {
	color:#FFF;
	font-size:1.5em;
	border:none;
	margin:0;
	text-align:center;
	padding:7px;
}
.fullWidth {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: initial;
}
#primary {
	margin:0 auto;
	padding:3vh 0 0;
}
section {
	margin-bottom:6vh;
}

article {
	margin:30px 0;
}

.visual {
	position:relative;
	height:200px;
	background-size:100%;
	max-width:1400px;
	margin:70px auto 0;
}
.visual .title-en{
	position:absolute;
	top:calc(50% - 60px);
	left:0;
	line-height:1;
	color:rgba(7,120,217,0.3);
	font-size:3em;
	font-family:"Josefin Sans";
}

/*------------------------
 * H
 * -------------------------*/
.titleInner {
	position:absolute;
	top:62%;
	left:1%;
	width:100%;
}
.titleInner h1 .letters{
	font-size:1.8rem;
	padding:0;
	color:#000;
}
.titleInner h1 .letters span{
	font-size:0.7em;
	color:#000;
	display:block;
}
section p, section li {
	font-size:1.05em;
	line-height:1.8;
}
section .title-header {
	text-align:center;
	font-size:0.9rem;
	margin-bottom:4vh;
}
section h1.blog-title {
	color:#000;
	font-size:1.2rem;
	color:#09315f;
}
section h2{
	position:relative;
	margin-bottom:30px;
	font-size:1.5rem;
	color:#000;
	padding-bottom:.5vh;
}
section h2 span {
	font-weight:normal;
	display:block;
	font-size:0.5em;
	line-height:1;
	margin-top:2px;
}
section h2 strong {
	font-size:2em;
}
section h2.frame-title {
	line-height:1;
	margin:0 0 -10px 0;
	color:#0f8cc0;
}
section h3 {
	font-weight:bold;
	font-size:1.2rem;
	margin-bottom:20px;
}
section h3 strong{
	font-size:2em;
}
h3.entry-title {
	font-size:2rem;
}
h3.entry-title span{
	display:block;
	font-size:.4em;
}
h3.voice-name {
	font-size:1.1rem;
}
h3.flow {
	font-size:1.1rem;
	color:#0f8cc0;
	background:url(../img/step_bg.png) no-repeat left top;
	padding:0 0 30px 30px;
	margin-bottom:0;
}
h3.flow.last-child {
	background:url(../img/step_bg_last.png) no-repeat left top;
}
section h4 {
	font-size:1.1rem;
	font-weight:bold;
}
h4.voice-q {
	font-size:.9rem;
	color:#0f8cc0;
}
h4.box-title {
	text-align:center;
	padding:7px;
	line-height:1.2rem;
	border:1px solid #0f8cc0;
	margin-bottom:20px;
}
h5 {
	font-weight:bold;
	font-size:0.95em;
}
.bottomArea{
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
}
.station{
	padding:10px 10px;
	text-align:center;
	border:1px solid #444;
	margin:5px auto;
}



/*------------------------
 * voice
 * -------------------------*/
.flex-wrapper.voice{
	justify-content:start;
	column-gap:20px;
	align-items:center;
}
.voice{
	margin-bottom:20px;
}
.voice p{
	font-size:.9rem;
}
/*------------------------
 * hr
 * -------------------------*/
hr.center{
	height:2px;
	background:#C00;
	width:200px;
	border:none;
	margin:6vh auto;
	animation:hrAni 2s ease forwards;
}
hr.center.mid{
	background:#720707;
}
hr.center.new{
	background:#1a3fa7;
}
@keyframes hrAni{
	0%{transform:scaleX(0)}
	100%{transform:scaleX(1)}
}

/*------------------------
 * flex-wrapper
 * -------------------------*/
.flex-wrapper{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.flex-wrapper.icons .flex-one{
	text-align:center;
	margin-bottom:40px;
}
.flex-wrapper.icons .flex-one figure{
	background:#f4f4f4;
	border-radius:50%;
	padding:20px;
	width:120px;
	margin:0 auto 10px;
}
.flex-wrapper.icons .flex-one img{
	width:80px;
}
.flex-wrapper.four:after{
	display:block;
	content:'';
	width:24%;
}
.flex-wrapper.news{
	display:flex;
	flex-wrap:wrap;
	justify-content:start;
	padding:2em 0;
	border-bottom:1px solid #ccc;
}
.flex-wrapper.news:hover{
	background:#f7f7f7;
}
.flex-wrapper.news .tag{
	width:25%;
}
.flex-wrapper.news .tag .cat{
	border:1px solid #09315f;
	text-align:center;
	padding:2px;
}
.flex-wrapper.news .date{
	width:10%;
	font-size:0.9rem;
	color:#666;
	padding:5px;
}
.flex-wrapper.news .title{
	width:100%;
	margin-top:10px;
}
.flex-wrapper.news-single{
	justify-content:start;
	align-items:center;
	margin-bottom:20px;
}
.flex-wrapper.news-single .cat{
	background:#09315f;
	color:#FFF;
	text-align:center;
	padding:2px 30px;
}
.flex-wrapper.news-single .date{
	color:#666;
	padding:10px;
}
.flex-wrapper.five .flex-one{
	width:48%;
}
@media(min-width:40em){
.flex-wrapper.two .flex-one{
	width:48%;
}
.flex-wrapper.two.sp-half{
	justify-content:start;
}
.flex-wrapper.two.sp-half .flex-one{
	width:auto;
}
.flex-wrapper.three::after{
	display:block;
	content:'';
	width:31%;
}
.flex-wrapper.three .flex-one{
	width:31%;
}
.flex-wrapper.three .flex-two{
	width:64%;
}
.flex-wrapper.four .flex-two{
	width:48%;
}
.flex-wrapper.four .flex-one{
	width:24%;
}
.flex-wrapper.four .flex-three{
	width:72%;
}
.flex-wrapper.five .flex-one{
	width:18%;
}
.flex-wrapper.six .flex-one{
	width:15%;
}
.flex-wrapper.news{
	justify-content:space-between;
}
.flex-wrapper.news .tag{
	width:15%;
	padding:0 10px;
}
.flex-wrapper.news .title{
	width:68%;
	margin-top:0;
}
/*------------------------
 * management
 * -------------------------*/
.flex-wrapper.separate .flex-one{
	padding:0 20px;
	border-right:1px solid #CCC;
}
.flex-wrapper.separate .flex-one{
	width:33.333333%;
}
.flex-wrapper.separate .flex-one:last-child{
	border-right:none;
}
}
/*------------------------
 * step
 * -------------------------*/
.step{
	background:url(../img/flow.png) no-repeat left top;
	padding:0 0 60px 60px;
}
.step.step_last{
	background:url(../img/flow_last.png) no-repeat left top;
	padding:0 0 20px 60px;
}
/*------------------------
 * 採用フロー
 * -------------------------*/
.flow-wrapper{
	display:flex;
	justify-content:start;
	column-gap:30px;
}
@media(min-width:40em){
.flow-wrapper .flow-item{
	position:relative;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size:1.1rem;
	padding:10px;
	border:1px solid #CCC;
}
.flow-wrapper .flow-item::after{
	-ms-writing-mode: tb-rl;
	writing-mode: horizontal-tb;
	position:absolute;
	display:block;
	content:'＞';
	top:50%;
	right:-30px;
	transform: translateX(-50%);
	transform: translateY(-50%);
}
.flow-wrapper .flow-item:last-child::after{
	display:none;
}
}

/*------------------------
 * sharebutton
 * -------------------------*/
.share{
	padding:20px 0;
	margin:20px auto;
	text-align:center;
	border-bottom:1px solid #ccc;
}
.sfsi_shortcode_container{
	float:none!important;
	display:flex;
	justify-content:center;
}

/*------------------------
 * fixed banner
 * -------------------------*/

.fixed-banner {
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 9999;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    height: 257px;
    width: 60px;
	cursor:pointer;
}

.fixed-banner .visibleContent {
    position: absolute;
    right: 0;
    bottom: 0;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
.fixed-banner .hoverContent {
	position: absolute;
    width: 250px;
    right: -250px;
	transition: all .3s ease-in-out;
}
.fixed-banner:hover{
    right: 250;
}
.fixed-banner:hover .visibleContent {
   right: -70px;
}
.fixed-banner:hover .hoverContent {
right: 0;
}

.fixed-banner-left {
    position: fixed;
    top: 50%;
    left: 0;
    z-index: 9999;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    height: 257px;
    width: 60px;
	cursor:pointer;
}

.fixed-banner-left .visibleContent {
    position: absolute;
    left: 0;
    bottom: 0;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
.fixed-banner-left .hoverContent {
	position: absolute;
    width: 250px;
    left: -250px;
	transition: all .3s ease-in-out;
}
.fixed-banner-left:hover{
    left: 250;
}
.fixed-banner-left:hover .visibleContent {
   left: -70px;
}
.fixed-banner-left:hover .hoverContent {
left: 0;
}


/*------------------------
 * label
 * -------------------------*/
.label{
	background:#549ded;
	font-weight:bold;
	margin:0 3px;
}
span.require{
	display:inline-block;
	background:#0d5aa9;
	color:#FFF;
	padding:1px 5px;
	font-size:0.8em;
}
.label a{
	color:#FFF;
}

/*------------------------
 * box
 * -------------------------*/
.box {
	border:2px solid #ccc;
	position:relative;
}
.box{
	padding:2vh;
}
.box .tab{
	position:absolute;
	top:0;
	left:0;
	display:inline-block;
	font-size:1.2rem;
	font-weight:700;
	color:#FFF;
	background:#dc5600;
	padding:5px;
}
.box a{
	color:#000;
}
.box h3.tab {
	position: relative;
	background:#C00;
	padding:5px;
	color:#FFF;
	font-size:1.2rem;
}
.box h3.tab:after {
	position: absolute;
	display:inline-block;
	content:"";
	top:-2px;
	margin-left:5px;
	border-bottom: 41px solid transparent;
	border-left: 41px solid #C00;
}
.box h5 {
	position:absolute;
	color:#FFF;
	padding:2px 3px;
	margin:0;
	font-size:0.8rem;
}

/*------------------------
 * innerBox
 * -------------------------*/
.innerBox {
	position:relative;
}
.innerBox .date {
	position:absolute;
	top:10px;
	background:#C00;
	padding:1px 5px;
	color:#FFF;
	font-size:0.9rem;
}

ul.mega-sub-menu li.mega-menu-item{
	text-align:center!important;
}
.mega-menu li a.mega-menu-link{
font-family: 'Noto Sans JP', sans-serif;
}

/*--------------------------------
 news
--------------------------------*/
ul.news {
	margin:0 0 20px 0;
	padding:0;
}
ul.news li {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding:7px 0;
	color:#444;
}
ul.news li a{
	color:#444;
	transition:all linear .3s;
}
ul.news li a:hover{
	color:#aaa;
}
ul.news li .date {
	display:inline-block;
	width:100px;
	font-size:0.9rem;
	font-weight:700;
	color:#444;
}
ul.news li .tag {
	width:12%;
}
ul.news li .tag .label{
	width:8em;
	text-align:center;
	border-radius:3px;
	background:#000;
}
ul.news li .title {
	width:68%;
}
@media(max-width:39em){
	ul.news li .news-title{
		display:block;
	}
}
/*--------------------------------
 check
--------------------------------*/
ul.check li{
	font-size:1.1rem;
	list-style:none;
	background:url(../img/icon_check.png?456) no-repeat 0 16px;
	background-size:18px;
	border-bottom:1px dotted #ccc;
	padding:7px 0 7px 26px;
}


/*--------------------------------
 primary
--------------------------------*/
#primary .widget {
	margin:0 0 30px 0;
}
#primary .widget ul{
	margin:0;
}
#primary .widget ul li{
	list-style:none;
	display:inline-block;
	margin:7px 7px 7px 0;
	background:#dd6584;
	color:#FFF;
	padding:5px 20px;
	border-radius:20px;
	box-shadow:5px 5px 0 #ccc;
}
#primary .widget ul li a{
	color:#FFF;
	display:block;
}
#primary .widget ul li:hover{
}
/*--------------------------------
 secondary
--------------------------------*/
#secondary {
	padding:3vh 0 0;
}
#secondary .widget {
	margin:0 0 30px 0;
}
#secondary h3 {
	color:#000;
	font-size:0.9em;
	text-align:center;
	padding:15px 10px;
	border:1px solid #bbb;
	margin-bottom:0;
}
#secondary ul {
	margin:0;
	padding:0 0 20px 0;
}
#secondary ul li {
	list-style:none;
	border-bottom:1px dotted #bbb;
	font-size:0.9em;
}
#secondary ul li a {
	display:block;
	padding:5px 10px;
}
#secondary ul li a:hover {
	background:#f7f7f7;
}
/*--------------------------------
 footer
--------------------------------*/
footer{
	background:#222;
	padding:4vh 0;
	color:#FFF;
}
footer p {
	font-size:.9rem;
}
footer h3{
	font-size:1.1rem;
	margin-bottom:15px;
}
footer h2.logo{
	margin-bottom:20px;
}

footer .menu {
	display:block;
	margin:0;
}
footer a {
	 color: #FFF;
	font-size:.9rem;
}
footer .widget h3 {
	font-weight:700;
	font-size:1rem;
	border-bottom:1px solid #555;
	margin-bottom:7px;
	padding-bottom:4px;
}
footer .menu{
  margin-bottom:15px;
}
footer .menu li {
    position: relative;
	list-style:none;
}
footer .menu li a{
    color: #FFF;
	padding:7px 0 7px 14px;
}
footer .menu li:before {
	display:block;
	content:'';
	position:absolute;
	top:48%;
	left:0;
	width:9px;
	height:2px;
	background:var(--wp--preset--color--white);
	transform:rotate(-45deg);
	transform-origin:left center;
}
footer .menu li:after {
	display:block;
	content:'';
	position:absolute;
	top:48%;
	left:0;
	width:9px;
	height:2px;
	background:var(--wp--preset--color--white);
	transform:rotate(45deg);
	transform-origin:left center;
}
footer .sns {
	margin:10px 0;
}
footer .sns li{
	list-style:none;
	padding:5px 0;
}
footer .sns li a{
	color:#FFF;
}
.copyright {
	font-size:0.8rem;
	padding:20px 0;
	color:#444;
}
@media(max-width:767px){
	footer h2.logo img{
	width:60px;
}
}
/*-------------------------------------------------
 page message
-------------------------------------------------*/
body#message main{
	padding-bottom:350px;
	background:url(../img/bg_message.jpg?2025) no-repeat bottom center;
}
/*-------------------------------------------------
 page philosophy
-------------------------------------------------*/
body#philosophy {
	background:url(../img/bg_philosophy.jpg?202501) no-repeat top center;
	background-size:contain;
}

@media(max-width:767px){
	body#philosophy {
	background:url(../img/bg_philosophy_sp.jpg) no-repeat top center;
		background-size:contain;
	}
	body#philosophy p{
	text-align:left;
}
}
/*-------------------------------------------------
 page purchase
-------------------------------------------------*/
body#purchase main{
	padding-bottom:350px;
	background:url(../img/bg_purchase.jpg?552) no-repeat bottom center;
}
/*-------------------------------------------------
 page recruit
-------------------------------------------------*/
body#recruit {
	background:url(../img/bg_philosophy2.jpg?555) no-repeat top right;
}
#recruitForm,#recruitForm2{
	margin:30px 0;
	display:none;
}

/*--------------------------------
 table
--------------------------------*/
.is-style-table table{
	width:100%;
	border: none;
	border-top:1px solid #CCC;
}
.is-style-table table tbody tr {
	line-height:1.8;
	background:#FFF;
	border: none;
	border-bottom:1px solid #CCC;
}
.is-style-table table th, .is-style-table table td {
	line-height:1.8;
	background:#FFF;
	border: none;
	border-bottom:1px solid #CCC;
}

.is-style-table table th {
	text-align:left;
}
.is-style-table table tbody, .is-style-table table tfoot, .is-style-table table thead {
	border: none;
}

table.table-bordered th {
	border:1px solid #bbb;
	background:#f4f4f4;
}
table.table-bordered td {
	border:1px solid #bbb;
}

@media(max-width:767px){
.is-style-table table th {
	display:block;
	border-bottom:none;
	padding-bottom:0;
}
.is-style-table table td {
	display:block;
	border-bottom:none;
}
	
}

/*--------------------------------
 label
--------------------------------*/
.lavel.gray {
	background:#666;
}

/*--------------------------------
 accordion
--------------------------------*/
.acMenu dt{
	display:block;
	cursor:pointer;
	font-weight:700;
 }
.acMenu dd{
    display:none;
}
.acMenu dt .button{
	margin:0;
	padding:10px 30px;
 }
/*--------------------------------
 tab
--------------------------------*/
.tabs {
	background: transparent;
	border: none;
}
.tabs-title {
	margin-right: 10px;
}
.tabs-title>a {
	display: block;
	background: #a9a8a8;
	color:#FFF;
	padding: 0.8rem 0.6rem;
	line-height: 1;
	font-size: 0.9rem;
	font-weight:700;
	border-radius:8px 8px 0 0;
}
.tabs-title>a:hover {
	color:#FFF;
	background: #888;
}
.tabs-title>a:focus, .tabs-title>a[aria-selected=true] {
	background: #e70000;
	color:#FFF;
}
.tabs-content {
	background: transparent;
	border: none;
	overflow:auto;
	border-top:8px solid #e70000;
	padding-top:20px;
}
.tabs-panel {
	padding: 0;
}
/*-------------------------------------------------
 right-nav
-------------------------------------------------*/
#right-nav {
    position: fixed;
    top: 0;
    right: 0;
}
/*-------------------------------------------------
 bottom-nav
-------------------------------------------------*/
#bottom-nav{
	 position: fixed;
	display:flex;
	justify-content:center;
    bottom: 0;
    left: 0;
	width:100%;
	border-top:3px solid #dc5600;
	background:#FFF;
}
#bottom-nav .nav01{
	text-align:center;
	padding:10px;
}
#bottom-nav .nav02{
	text-align:center;
	padding:10px;
}
#bottom-nav .nav03{
	margin-top:-10px;
}
@media(max-width:39em){
#bottom-nav{
	border-top:none;
	flex-wrap:wrap;
	background:rgba(0,0,0,0.6);
}
#bottom-nav .nav02{
}
#bottom-nav .nav01{
	width:50%;
	padding:5px;
}
#bottom-nav .nav02{
	width:50%;
	padding:5px;
}
#bottom-nav .nav03{
	width:100%;
	padding:5px;
}
}
/*--------------------------------
 form
--------------------------------*/
input[type=text] ,input[type=email],textarea {
	margin-bottom:0;
}
input.form-large {
	width:25em;
	display:inline-block;
}
input.form-medium {
	width:12em;
	display:inline-block;
}
input.form-small {
	width:4em;
	display:inline-block;
}
label {
	display: inline-block;
}
table.table th, table.table td {
	line-height:1.8;
}
.form_line{
	margin-bottom:30px;
	font-size:1.1rem;
}
.form_line .form_title span.require{
	font-size:12px;
}
.form_line .form_title{
	margin-bottom:10px;
}
.form_line label{
	font-size:1rem;
}
.form_line select{
	display:inline-block;
	width:25rem;
}
.form_line .flex-wrapper{
	justify-content:start;
	column-gap:10px;
}
/*---------------------
.wp-pagenavi
-----------------------*/
.wp-pagenavi {
	margin:10px 0 20px 0;
}
.wp-pagenavi:after {
	display:block;
	clear:both;
}
.wp-pagenavi a, .wp-pagenavi span {
	text-decoration: none;
	font-size:0.8em;
	border: 1px solid #ccc;
	padding: 7px 12px;
	margin: 2px;
	color:#666;
}
.wp-pagenavi span.current {
	background:#ccc;
	border: 1px solid #ccc;
}

/*--------------------------------
 breadcrumbs
--------------------------------*/
.breadcrumbs {
	font-size:0.8em;
	padding:20px 0;
	margin:0 auto;
	max-width:1200px;
}
/*--------------------------------
 button
--------------------------------*/
a.button,button,input[type=submit] {
	position:relative;
	border:none;
	color:#000;
	background:#FFF;
	border:2px solid #000;
}
a.button:hover{
  background:transparent;
	color:#FFF;
}
a.button::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #000;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
a.button:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
a.button .arrow{
	position:absolute;
	top:12px;
	right:10px;
}

a.button.large {
	padding:12px 70px;
	font-weight:700;
	font-size:1.1rem;
}
a.button.fulll{
	display:block;
	width:100%;
	font-weight:bold;
	text-align:center;
}
input[type=submit].full{
	display:block;
	width:100%;
	font-weight:bold;
	text-align:center;
	font-size:1.2rem;
}
a.button.orange{
	background:linear-gradient(to right,#ff6600, #ff9933 );
	color:#FFF;
}
a.button svg {
    position: absolute;
    top: calc(50% - 6px);
    right: 2%;
	width:10px;
	height:10px;
    fill: #FFF;
}
a.button.reverse{
	color:#062d62;
	background:#FFF;
	border:2px solid #062d62;
	font-weight:700;
	font-size:1.1rem;
}
a.button.reverse:hover{
	color:#FFF;
	background:#3071b8;
	border:2px solid #3071b8;
}

@media(min-width:40em){
a.button.full {
	display:block;
	width:100%;
	font-size:1.4rem;
	font-weight:bold;
	text-align:center;
}
a.button.round {
	border-radius:32px;
}

}
/*--------------------------------
 accordion
--------------------------------*/
.accordion-title {
	font-size: 1rem;
	border:1px solid #ccc;
	padding-right:2rem;
	line-height:1.6;
}
.accordion-title a:link, .accordion-title a:active, .accordion-title a:visited {
	color: #C00;
}
.accordion-title:focus, .accordion-title:hover {
    background-color: #3071b8;
	color:#FFF;
	font-weight:700;
}
.accordion-title.is-active{
	background-color: #3071b8;
	color:#FFF;
}
.accordion-content {
	font-size: 1rem;
	border:none;
}
.accordion-title span.icon-q {
	display:inline-block;
	padding:3px 5px;
	background:#C00;
	color:#FFF;
	text-align:center;
	margin-right:10px;
}
.accordion-content span.icon-a {
	display:inline-block;
	padding:3px 5px;
	background:#1a3fa7;
	color:#FFF;
	text-align:center;
	margin-right:10px;
}
/*--------------------------------
 frame
--------------------------------*/
.frame {
	border:1px solid #b2ceec;
	padding:1.5rem;
}

/*--------------------------------
 alert
--------------------------------*/
.alert{
	background:#ddefc7;
	padding:15px;
	border-radius:8px;
}
.alert h4{
	color:#187911;
}

/*--------------------------------
 compliance
--------------------------------*/
.compliance_text{
	padding:10px 2rem;
	margin-left:1rem;
}
.compliance_text article{
	margin-bottom:50px;
}
.compliance_text article h3{
	margin-bottom:10px;
}


/*--------------------------------
 sitemap
--------------------------------*/
.sitemap li{
	list-style:none;
	padding:10px 0;
	border-bottom:1px solid #ccc;
}

/*--------------------------------
 blog
--------------------------------*/
.blogitem{
	margin:2vh 0;
	background:#51ad89;
	border:1px solid #ccc;
}
.blogitem .inner{
	padding:2vh;
}
.blogitem .date{
	font-size:0.9rem;
	color:#FFF;
	padding:0;
	margin:0;
}
.blogitem h3{
	font-size:1rem;
	color:#FFF;
	padding:0;
	margin:0;
}
.blogitem:hover .date,
.blogitem:hover h3{
	color:#51ad89;

}
.blogitem .button.large{
	margin:0;
}
@media(min-width:40em){
.blog-wrapper{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.blog-wrapper:after{
	content:'';
	display:block;
}
.blog-wrapper .blogitem{
	width:32%;
}
}


/*--------------------------------
 flex-wrapper
--------------------------------*/
@media only screen and (min-width:640px) {
.flex-wrapper {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.flex-wrapper .flex-one{
	width:48%;
}
.flex-wrapper .flex-one.vertical-center{
	display:flex;
}
}
/*--------------------------------
 scrollArea
--------------------------------*/
.scrollArea{
	height:280px;
	overflow-y:scroll;
	border:1px solid #ccc;
	padding:15px;
	font-size:0.9rem;
	margin:20px auto;
}



/*---------------------
 * responsive
 * ------------------------*/
@media only screen and (max-width:40em) {
main{
		margin:0 10px;
}
header a.button {
	display:block;
	width:100%;
	margin-top:15px;
}
.titleInner {
	top:55%;
	left:1%;
}
footer .nav {
	display: flex;
	flex-wrap:wrap;
}
footer .nav li {
	width:50%;
}
.flex-wrapper.two .flex-one{
	width:100%;
	margin-bottom:3vh;
}
.flex-wrapper.two.sp-half .flex-one{
	width:48%;
	margin-bottom:1vh;
}
.flex-wrapper.three .flex-one{
	width:100%;
	margin-bottom:3vh;
}
.flex-wrapper.four .flex-one{
	width:100%;
	margin-bottom:3vh;
}
.flex-wrapper.four .flex-three{
	width:100%;
	margin-bottom:3vh;
}
table.stack.price tbody tr{
	margin-bottom:15px;
}
input.form-large {
    width: 100%;
}
input.form-medium {
    width: 6em;
}
.form_line select{
		width:100%;
}
footer .menu li a{
	font-size:0.85rem;
	}
}
@media only screen and (min-width:40em) {
section{
		margin-bottom:12vh;
}
article.bannerArea{
		margin-bottom:12vh;
}
.titleBox:after {
	display:block;
	content:'';
	clear:both;
}
.titleBox h2 {
	position:absolute;
	width:100%;
	top:35%;
}
section h2 {
	font-size:1.7rem;
}
body.page section h2,
body.single section h2{
	font-size:1.5rem;		
}

section h3 {
	font-size:1.4rem;
}
.visual .title-en{
	font-size:7em;
}
h2.interview-title {
	font-size:1rem;
}
section h1.blog-title {
	font-size:1.5rem;
}
.bottomArea{
		display:none;
}
}
@media only screen and (min-width: 64em) {
.visual {
	height:320px;
}
body.post-type-archive .visual{
	height:320px;
}
.submitArea {
    max-width: 640px;
    margin: 5vw auto;
}
section .title-header{
		margin-bottom:6vh;
}
section h2 {
	font-size:2.2rem;
}
body.page section h2,
body.single section h2{
	font-size:1.7rem;
}
section h3 {
	font-size:1.5rem;
}
h3.entry-title {
	font-size:2.4rem;
}
.tabs-title>a {
	display: block;
	background: #a9a8a8;
	color:#FFF;
	padding: 0.8rem 1rem;
	line-height: 1;
	font-size: 1rem;
	font-weight:700;
	border-radius:8px 8px 0 0;
}
}
/*hoverLine*/
.hoverLine{
	position:relative;
}
.hoverLine .lineL{
	position:absolute;
	top:-10px;
	left:10px;
	width:1px;
	height:105%;
	background:#000;
	transform:scale(0,0);
	z-index:2;
}
.hoverLine .lineT{
	top:10px;
	left:-10px;
	position:absolute;
	width:105%;
	height:1px;
	background:#000;
	transform:scale(0,0);
	z-index:2;
}
.hoverLine .lineR{
	top:-10px;
	right:10px;
	position:absolute;
	width:1px;
	height:105%;
	background:#000;
	transform:scale(0,0);
	z-index:2;
}
.hoverLine .lineB{
	bottom:10px;
	right:-10px;
	position:absolute;
	width:105%;
	height:1px;
	background:#000;
	transform:scale(0);
	z-index:2;
}
.hoverLine:hover .lineL,
.hoverLine:hover .lineT,
.hoverLine:hover .lineR,
.hoverLine:hover .lineB{
	animation: lineAni .5s .5s forwards;
}
@keyframes lineAni{
	0%{
		transform:scale(0,0);
	}
	100%{
		transform:scale(1,1);
	}
}

/*hoverBox*/
.hoverBox .flex-one{
	position:relative;
	transition:all ease-in-out .3s;
	background:#FFF;
}
.hoverBox .flex-one a.boxlink{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	color:#FFF;
	overflow:hiddden;
	opacity:0;
}

.hoverBox .flex-one.noshadow:hover{
	box-shadow:none;
}
.hoverBox .flex-one .text{
	padding:1rem;
}

/*innerImage*/
.innerImage {
	position:relative;
	overflow:hidden;
}
.innerImage figure  {
}
.innerImage figure img {
	overflow:hidden;
	transition:all linear 0.3s;
}
.innerImage figure img {
	width:100%;
	transition:all linear 0.3s;
}
.innerImage:hover img {
	opacity:1;
}
.innerImage article {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(9,49,95,0.7);
	margin:0;
	padding:0;
	transition:all linear .3s;
}
.innerImage article:after {
	position:absolute;
	bottom:20px;
	right:20px;
	content:'→';
	display:block;
}
.innerImage:hover article {
	background:rgba(9,49,95,0.3);
}
.innerImage article h3 {
	position:absolute;
	bottom:20px;
	left:0;
	width:100%;
	padding:0 20px;
	color:#FFF;
	border:none;
	font-size:1em;
	margin:0;
}
.innerImage a.boxlink{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	color:#FFF;
	overflow:hiddden;
	text-indent:-100%;
}

/*------------------------------------*\
  印刷用
\*------------------------------------*/
@media print {
a[href]:after {
	content: "" !important;
}
abbr[title]:after {
	content: "" !important;
}
}

/*------------------------------------*\
  データ属性絞り込み
\*------------------------------------*/
.category-btn{
	display:flex;
	justify-content:center;
	list-style:none;
	margin:40px auto;
}
.category-btn.keyword{
	background:#f5f5f5;
	padding:15px;
}
.category-btn.keyword li a{
	font-size:.8em;
}

.category-btn li a{
	display:inline-block;
	padding:10px 30px;
}
.category-btn.keyword li a{
	font-size:.8em;
	border:none;
	background:#FFF;
	color:#09315f;
}
.category-btn li a.is-select{
	border-bottom:2px solid #09315f;
}
.category-btn.keyword li a.is-select{
	
	color:#FFF;
}
.category-list .flex-one{
    position: relative;
}
.category-list .flex-one a.boxlink{
    position: absolute;
    width: 100%;
    height: 100%;
	display:block;
    top:0;
    left: 0;
    text-indent: 100%; /*テキスト非表示*/
    white-space: nowrap; /*テキスト非表示*/
    overflow: hidden; /*テキスト非表示*/
	z-index:10;
  }
.category-list:before{
    content:"";
    display:block;
    width: 24%;
    height:0;
    order:1;
  }
.category-list:after{
    content:"";
    display:block;
    width:  24%;
    height:0;
 }
 .is-animate {
   opacity: 1;
   animation: .6s zoom-in;
 }

 @keyframes zoom-in {
   0% {
     opacity: 0.3;
     transform: scale(.8);
   }
   100% {
     opacity: 1;
     transform: none;
   }
 }
@media(max-width:39em){
.category-list .innerImage{
		display:flex;
		flex-wrap:wrap;
}
.category-list .innerImage figure{
		width:48%;
}
.category-list .innerImage .text{
		width:48%;
}
.category-btn li{
	display:inline-block;
}
.category-btn.keyword li a{
	display:block;
	margin:5px 0;
}
}

/*------------------------------------*\
  ボックスアニメーション
\*------------------------------------*/
.hoverBox .flex-one a.boxlink{
    position: absolute;
    width: 100%;
    height: 100%;
	display:block;
    top:0;
    left: 0;
    text-indent: 100%; /*テキスト非表示*/
    white-space: nowrap; /*テキスト非表示*/
    overflow: hidden; /*テキスト非表示*/
	z-index:10;
  }
.hoverBox .hoverGrid a.boxlink{
    position: absolute;
    width: 100%;
    height: 100%;
	display:block;
    top:0;
    left: 0;
    text-indent: 100%; /*テキスト非表示*/
    white-space: nowrap; /*テキスト非表示*/
    overflow: hidden; /*テキスト非表示*/
	z-index:10;
  }


/*Image animation*/
.hoverGrid {
	overflow:hidden;
	position:relative;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
	opacity:0;
}
.hoverGrid.is-visible {
	animation: fadeInUp 0.6s 0s forwards;	
}

@keyframes fadeInUp{
	0%{
		opacity:0;
	}
	100%{
	opacity:1;
	-webkit-transform: matrix(1, 0, 0, 1, 0, 0);
   transform: matrix(1, 0, 0, 1, 0, 0);
	}
}

/*上から*/
.hoverGrid:before {
  position: absolute;
  z-index: 1;
  background: #000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.hoverGrid.is-visible:before {
	animation:fromTop .4s 2s forwards;
}

@keyframes fromTop{
	0%{
  -webkit-transform: translateY(0);
  transform: translateY(0);
	}
	100%{
    -webkit-transform: translateY(101%);
    transform: translateY(101%);		
	}
}


/*下から*/
.hoverGrid.bottomUp:before {
  position: absolute;
  z-index: 1;
  background: #000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.hoverGrid.bottomUp.is-visible:before {
	animation:fromBottom .4s 2s forwards;
}

@keyframes fromBottom{
	0%{
  -webkit-transform: translateY(0);
  transform: translateY(0);
	}
	100%{
    -webkit-transform: translateY(-101%);
    transform: translateY(-101%);	
	}
}

/*左から*/
.hoverGrid.leftToRight:before {
  position: absolute;
  z-index: 1;
  background: #000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  -webkit-transform: translateX(0);
  transform: translateX(0)
}
.hoverGrid.leftToRight.is-visible:before {
	animation:fromLeftToRight .4s 2s forwards;
}

@keyframes fromLeftToRight{
	0%{
  -webkit-transform: translateX(0);
  transform: translateX(0);
	}
	100%{
  -webkit-transform: translateX(101%);
  transform: translateX(101%);
	}
}

/*右から*/
.hoverGrid.rightToLeft:before {
  position: absolute;
  z-index: 1;
  background: #000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  -webkit-transform: translateX(0);
  transform: translateX(0)
}
.hoverGrid.rightToLeft.is-visible:before {
	animation:fromLeftToRight .4s 2s forwards;
}

@keyframes fromRightToLeft{
	0%{
  -webkit-transform: translateX(0);
  transform: translateX(0);
	}
	100%{
  -webkit-transform: translateX(-101%);
  transform: translateX(-101%);
	}
}

/*テキストアニメーション*/
.is-left-slide {
    opacity: 0;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
	-webkit-transition: -webkit-transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: -webkit-transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, -webkit-transform .8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
}
.is-left-slide.is-visible {
	animation: fadeIn .4s .3s forwards;
}
.is-right-slide {
    opacity: 0;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
	-webkit-transition: -webkit-transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: -webkit-transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, -webkit-transform .8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
}
.is-right-slide.is-visible {
	animation: fadeIn .4s .3s forwards;
}

@keyframes fadeIn{
	0%{
		opacity:0;
	}
	100%{
	opacity:1;
    transform: matrix(1, 0, 0, 1, 0, 0);
	}
}

.is-down-slide {
    opacity: 0;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
	-webkit-transition: -webkit-transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: -webkit-transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, -webkit-transform .8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
}
.is-down-slide.is-visible {
	animation: fadeInY .4s .3s forwards;
}

@keyframes fadeInY{
	0%{
		opacity:0;
	}
	100%{
	opacity:1;
    transform: matrix(1, 0, 0, 1, 0, 0);
	}
}

.is-up-slide {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
	-webkit-transition: -webkit-transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: -webkit-transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, -webkit-transform .8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
}
.is-up-slide.is-visible {
	animation: fadeInY .4s .3s forwards;
}
