@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);
  }



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:30px;
    box-sizing: border-box;
}
ul.line img{
	max-width:100%;
	height:auto;
}
ul.line2 li, ul.line2_2 li{
	width:48%;
	margin-right: 4%;
}
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;
}

.need, .option{
	color:#FFF;
	margin-right:5px;
	display:inline-block;
	font-size: 70%;
	padding: 2px 10px;
}
.need{
	background: #F8B2B3;
}
.option{
	background: #A5C5F5;
}


.box800{
	max-width: 800px;
	margin: auto;
}
.box900{
	max-width: 900px;
	margin: auto;
}
.box1000{
	max-width: 1000px;
	margin: auto;
}

