@charset "utf-8";
/* CSS Document */
/* common */
*{
	margin:0px;
	padding:0px;
	list-style:inherit;
}
img{
	border:0px;
	height: auto;
    vertical-align: middle;
}
ul{
	margin:0px;
	padding:0px;
}
ul li{
	margin:0px;
	padding:0px;
	list-style-position: inside;
	list-style-type: none;
}

ol{
    margin-left: 20px;
}
ol li{
    list-style: decimal;
    margin-bottom: 20px;
}
p{
	margin:0px;
}
div{
	box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
.scroll{}

section:before,
section:after {
    content:"";
    display:block;
    overflow:hidden;
}
 
section:after {
    clear:both;
}
section p{
	margin-bottom:20px;
}
/* For modern browsers */
.cf:before,
.cf:after {
    content:"";
    display:block;
    overflow:hidden;
}
 
.cf:after {
    clear:both;
}
 
/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}

.clear{
	clear:both;
}
.clear_l{
	clear:left;
}
.clear_r{
	clear:right;
}
.center{
	text-align:center;
}
.t_right{
	text-align:right;
}
.t_left{
	text-align:left;
}

/* マージン */
.spacer{
	height:20px;
}
.p10{
	padding:10px;
}
.p20{
	padding:20px;
}
.m10{
	margin:10px;
}
.m20{
	margin:20px;
}
.m_tb10{
	margin:10px 0px;
}
.m_tb50{
	margin:50px 0px;
}
.m_top5{
	margin-top:5px;
}
.m_top10{
	margin-top:10px;
}
.m_top20{
	margin-top:20px;
}
.m_top30{
	margin-top:30px;
}
.m_top50{
	margin-top:50px;
}
.m_top60{
	margin-top:60px;
}
.m_top80{
	margin-top:80px;
}
.m_top100{
	margin-top:100px;
}
.m_bottom5{
	margin-bottom:5px;
}
.m_bottom10{
	margin-bottom:10px;
}
.m_bottom20{
	margin-bottom:20px;
}
.m_bottom30{
	margin-bottom:30px;
}
.m_bottom40{
	margin-bottom:40px;
}
.m_bottom50{
	margin-bottom:50px;
}
.m_bottom60{
	margin-bottom:60px;
}
.m_bottom80{
	margin-bottom:80px;
}
.m_bottom100{
	margin-bottom:100px;
}
.m_bottom150{
	margin-bottom:150px;
}
.m_right9{
	margin-right:9px;
}
.m_right10{
	margin-right:10px;
}
.m_right15{
	margin-right:15px;
}
.m_right20{
	margin-right:20px;
}
.m_right30{
	margin-right:30px;
}
.m_right40{
	margin-right:40px;
}

/* border */
.border_b{
	border-bottom:dotted 1px #DDD;
	padding-bottom:10px;
	margin-bottom: 10px;
}



/*font*/
.font_small{
	font-size:smaller;
}
.font_big{
	font-size: large;
}
.t_right{
	text-align:right;
}
.t_left{
	text-align:left;
}
.min{
    font-family: "Sawarabi Mincho";
    font-size: 110%;    
}
.font_red{
	color:#C00;
	font-weight:bold;
}
.w100, .w100 img{
    width: 100%;
    height: auto;
}

/* モーション用 */
.zoomin, .fadein, .spin, .spin3d, .slideup, .spinzoom, .fadeup, .slideright, .slideleft{
	transition: .8s;
}
	
/* 1つ目：縮小・拡大 */
.zoomin{
	transform: scale(0, 0);
	-webkit-transform: scale(0, 0);
	transition: .8s;
}
.mv01{
	transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
}

/* 2つ目：opacity*/
.fadein{
	opacity: 0;
}
.mv02{
	opacity: 1.0;
}

/* 3つ目：回転 */
.spin{
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}
.mv03{
	transform: rotate(360deg);
	-webkit-transform: rotate(360deg);
}

/* 4つ目：3D回転 */
.spin3d{
    transform:rotateY(0deg);
    -webkit-transform:rotateY(0deg);
}
.mv04{
    transform:rotateY(360deg);
    -webkit-transform:rotateY(360deg);
}

/* 5つ目：移動 */
.slideup{
	transform: translate(0,40px); 
	-webkit-transform: translate(0,40px); 
}
.mv05{
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

/* ６つ目：縮小・拡大＆3D回転 */
.spinzoom{
	transform: scale(0, 0) rotateY(180deg);
	-webkit-transform: scale(0, 0) rotateY(180deg);
}
.mv06{
	transform: scale(1, 1) rotateY(360deg);
	-webkit-transform: scale(1, 1) rotateY(360deg);
}


/* ７つ目：移動＋透明度 */
.fadeup{
	opacity: 0;
	transform: translate(0,60px); 
	-webkit-transform: translate(0,60px); 
}
.mv07{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

/* ７つ目：移動＋透明度 */
.slideright{
	opacity: 0;
	transform: translate(60px,0); 
	-webkit-transform: translate(60px,0); 
}
.mv08{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

/* ７つ目：移動＋透明度 */
.slideleft{
	opacity: 0;
	transform: translate(-60px,0); 
	-webkit-transform: translate(-60px,0); 
}
.mv09{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}


  .mod-btn-demo {
    display: inline-block;
    width: 200px;
    height: 54px;
    text-align: center;
    text-decoration: none;
    line-height: 54px;
    outline: none;
  }
  .mod-btn-demo::before,
  .mod-btn-demo::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
  }
  .mod-btn-demo,
  .mod-btn-demo::before,
  .mod-btn-demo::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
  }

  .mod-btn-demo{
    width: 200px;
    position: relative;
    z-index: 2;
    background-color: #fff;
    border: 2px solid #333;
    color: #333;
    line-height: 50px;
    overflow: hidden;
  }
  .mod-btn-demo:hover {
    color: #fff;
  }

  .mod-btn-demo::after {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(.5);
    transform: scale(.5);
  }
  .mod-btn-demo:hover::after {
    background: #333;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
.facebook{
	margin: 0 7px 0 0;
}


ul.line, ul.line2, ul.line3, ul.line4, ul.line2_nomargin, ul.line3_nomargin{
	display:flex;
	flex-wrap:wrap;
	justify-content: flex-start;
}
ul.line li, ul.line2 li, ul.line3 li, ul.line4 li{
	margin-bottom:20px;
    box-sizing: border-box;
}
ul.line img{
	max-width:100%;
	height:auto;
}
ul.line2 li, ul.line2_2 li{
	width:49%;
	margin-right: 2%;
}
ul.line2 li:nth-child(even), ul.line2_2 li:nth-child(even){
	margin-right: 0;
}
ul.line6040 li{
	width:50%;
	margin-right: 10%;
}
ul.line6040 li:nth-child(even){
	width: 40%;
	margin-right: 0;
}
ul.line3 li, ul.line3_2 li, ul.line3_3 li{
	width:31%;
	margin-right: 3.5%;
}
ul.line3 li:nth-child(3n), ul.line3_2 li:nth-child(3n), ul.line3_3 li:nth-child(3n){
	margin-right: 0;
}
ul.line4 li{
	width:22.75%;
	margin-right: 3%;
}
ul.line4 li:nth-child(4n){
	margin-right: 0;
}
ul.line5 li{
	width:18.4%;
	margin-right: 2%;
}
ul.line5 li:nth-child(5n){
	margin-right: 0%;
}
ul.line6 li{
	width:15%;
	margin-right: 2%;
}
ul.line6 li:nth-child(6n){
	margin-right: 0%;
}
ul.line2_nomargin li{
	width:50%;
}
ul.line3_nomargin li{
	width:33.3%;
}

/* contact */
input{
	font-size:100%;
}
input[type="submit"] {
   -webkit-appearance: none;
   border-radius: 0;
}
select{
	padding: 15px;
	border: solid 2px #CCC;
	box-sizing: border-box;
}
table.formTable{
	width:100%;
	margin:auto;
	border-collapse:collapse;
	margin-bottom: 20px;
}
table.formTable tr{
}
table.formTable th{
	text-align:left;
	padding:20px;
	width: 30%;
}
table.formTable td{
	text-align:left;
	padding:20px 0;
}
table.formTable td input, table.formTable td textarea{
	border: solid 2px #CCC;
	box-sizing: border-box;
}
table.formTable td input[type="text"], table.formTable td input[type="number"], textarea, checkbox, select, input[type="tel"], input[type="email"], input[type="password"], input[type="email"], input[type="url"], input[type="tel"], input[type="date"]{	
	padding: 15px;
	border: solid 2px #CCC;
	box-sizing: border-box;
}

/* Contact Form 7のラジオボタンを縦並びに */
.wpcf7-radio .wpcf7-list-item {
    margin-top:10px;
    display: block;
}
/*.need, .option{
	color:#FFF;
	margin-right:5px;
	display:inline-block;
	font-size: 70%;
	padding: 2px 10px;
}
.need{
	background: #F8B2B3;
}
.option{
	background: #A5C5F5;
}*/

.privacy{
	margin-bottom:20px;
	height:300px;
	overflow:auto;
	padding:20px;
	border:solid 1px #CCC;
	text-align:left;
	background: #FFF;
}
.privacy_title{
	font-weight:bold;
	font-size:150%;
}
.privacy dl{
	}
.privacy dt{
	margin-bottom:10px;
	font-size: 120%;
}
.privacy dd{
	margin-bottom:40px;
}
.privacy p{
	margin-bottom:20px;
}
.contact_flow1, .contact_flow2, .contact_flow3{
	display: none;
}
.mw_wp_form_input .contact_flow1{
	display: block;
}
.mw_wp_form_confirm .contact_flow2{
	display: block;
}
.mw_wp_form_complete .contact_flow3{
	display: block;
}
/*  wp  */
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

blockquote.alignleft,
.wp-caption.alignleft,
img.alignleft {
	margin: 0.4em 1.6em 1.6em 0;
}

blockquote.alignright,
.wp-caption.alignright,
img.alignright {
	margin: 0.4em 0 1.6em 1.6em;
}

blockquote.aligncenter,
.wp-caption.aligncenter,
img.aligncenter {
	clear: both;
	margin-top: 0.4em;
	margin-bottom: 1.6em;
}

.wp-caption.alignleft,
.wp-caption.alignright,
.wp-caption.aligncenter {
	margin-bottom: 1.2em;
}

.widget{
	list-style:none;
	margin-bottom:40px;
}
.widget ul li a{
    display: block;
    border-bottom: dotted 1px #CCC;
    padding: 5px 0;
    color: #000;
}
/* wp-calendar */
table#wp-calendar, table.wp-calendar{
	width:100%;
	border-collapse:collapse;
}
table#wp-calendar th, table#wp-calendar td ,table.wp-calendar th, table.wp-calendar td{
	padding:2px;
	text-align:center;
	border-bottom:solid 1px #CCC;
	font-size:90%;
}
table#wp-calendar a, table.wp-calendar a{
    display: block;
    background: #CCC;
}
#npcatch figure{
    width: 30%;
}
#npcatch figure img{
    width: 100%;
}
#npcatch .detail{
    width: 70%;
    line-height: 1.4;
    font-size: 90%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.nav-below{
    display: flex;
    justify-content: space-between;
	margin-bottom: 40px;
}
.nav-previous, .nav-next {
    width: 40%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 90%;
	text-align: left;
}
.nav-previous a, .nav-next a {
	text-decoration: none;
}
.nav-next {
	text-align: right;
}
.pager{
	text-align:center;
	margin-bottom: 20px;
	padding: 20px 0;
	clear: both;
}
a.page-numbers,
.pager .current{
	background:rgba(0,0,0,0.02);
	border:solid 1px #FFF;
	padding:5px 8px;
	margin:0 2px;
	text-decoration: none;
}
.pager .current{
	background:#000;
	border:solid 1px rgba(0,0,0,1);
	color:#FFF;
}

.box800{
	max-width: 800px;
	margin: auto;
}
.box900{
	max-width: 900px;
	margin: auto;
}
.box1000{
	max-width: 1000px;
	margin: auto;
}

/* access */
body table.access-diagram{width:100%;border-spacing:0 20px;margin:20px auto 20px}
body table.access-diagram tbody{width:100%}
body table.access-diagram td{vertical-align:middle;text-align:center;whitespace:no-wrap;padding:10px}
body table.access-diagram img.icon{display:inline-block;vertical-align:top;height:18px;width:auto;margin:6px 5px}
body table.access-diagram td.box{border:1px solid black; background: #FFF;}
body table.access-diagram td.strike{font-size:12px;background-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=);background-repeat:repeat-x;background-position:center}
body table.access-diagram td.strike span.white{text-align:center;display:inline-block;background:white;padding:0 5px;vertical-align:top;font-size:12px}
body table.access-diagram .box-logo{ width: 15%;}
body table.access-diagram .box-logo img{vertical-align:top;width:100%;max-width:120px;margin:15px auto}
