@charset "utf-8";
body{
	font-size: 16px;
}
/* 画像の下にできる隙間をなくす */
img {
	vertical-align: bottom;
	max-width: 100%;
}
/* hr 要素は不可視で使う */
hr {
	display: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display:block;
}

.content{
	max-width: 1200px;
	padding: 60px 0;
	margin: 0 auto;
	
}
.wrapper{
	max-width: 1200px;
	margin: 0 auto;
	
}
.bgcolor{
	background-color: #f3f3f3;
}
.content h2,.content h3,.content h4{
	text-align: center;
	margin-bottom: 1em;
}
h1{
	font-size: 2rem;
}
h2{font-size: 1.5rem;}
h3{font-size: 1.2rem;}
h4{
	font-size: 1rem;
}
.catchcopy {
    font-size: 14px;
}
/*ホバー時透過*/
.hoverTrans a:hover {
    cursor: pointer;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
    zoom: 1;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}
.w10{
	width: 10%;
	margin: 0 auto;
}
.w20{
	width: 10%;
	margin: 0 auto;
}
.w30{
	width: 10%;
	margin: 0 auto;
}
.w40{
	width: 10%;
	margin: 0 auto;
}
.w50{
	width: 10%;
	margin: 0 auto;
}.w60{
	width: 10%;
	margin: 0 auto;
}
.w70{
	width: 10%;
	margin: 0 auto;
}
.w80{
	width: 10%;
	margin: 0 auto;
}
.w90{
	width: 10%;
	margin: 0 auto;
}


/* 2カラム */
.lay2 {
	width:47%;
	float:left;
	margin:0 6% 2em 0;
}

.lay2R {
	width:47%;
	float:left;
	margin:0 0 0 0;
}


/* 2カラム　複数 */
.lay2Plural {
	width:46%;
	float:left;
	margin:0 2% 3rem 2%;
}

.lay2Plural2 {
	width:46%;
	float:left;
	margin:0 2% 1rem 2%;
}
.lay2Inline {
	width:45%;
	display:inline-block;
	margin:0 2% 1rem 2%;
	vertical-align:top;
	box-sizing: border-box;
}


/* 3カラム */
.lay3 {
	width:31%;
	float:left;
	margin:0 3% 2% 0;
}

.lay3R {
	width:31%;
	float:left;
	margin:0 0 2% 0;
}


/* 3カラム　複数 */
.lay3Inline {
	width:28%;
	display:inline-block;
	margin:0 2% 1rem 2%;
	vertical-align:top;
	box-sizing: border-box;
}

.lay3Inline2 {
	width:29%;
	display:inline-block;
	margin:0 1% 1rem 1%;
	vertical-align:top;
	box-sizing: border-box;
}


/* 4カラム　複数 */ 

.lay4Inline {
	width: 21.25%;
	display:inline-block;
	margin:0 1.5% 1em 1.5%;
	vertical-align:top;
	box-sizing: border-box;
}



/*　1：2　*/

.lay1-2_1 {
	float:left;
	width:32%;
	margin:0 2% 1em 2%;
}

.lay1-2_2 {
	float:left;
	width:60%;
	margin:0 2% 1em 2%;
}


.layInline1-2_1 {
	display:inline-block;;
	width:32%;
	margin:0 2% 1em 2%;
	vertical-align:top;
}

.layInline1-2_2 {
	display:inline-block;
	width:58%;
	margin:0 2% 1em 2%;
	vertical-align:top;
}


/*　2：1　*/

.lay2-1_1 {
	float:left;
	width:60%;
	margin:0 2% 1em 2%;
}

.lay2-1_2 {
	float:left;
	width:32%;
	margin:0 2% 1em 2%;
}


.layInline2-1_1 {
	display:inline-block;
	width:58%;
	margin:0 2% 1em 2%;
	vertical-align:top;
}

.layInline2-1_2 {
	display:inline-block;
	width:32%;
	margin:0 2% 1em 2%;
	vertical-align:top;
}
/*レイアウト関係*/
.txtRight {
  text-align: right;
}
.txtLeft {
  text-align: left;
}
.txtCenter {
  text-align: center;
}
.txtPCcenterSPleft {
  text-align: center;
}
.mgb3em {
  margin-bottom: 3em;
}
.mgb2em {
  margin-bottom: 2em;
}
.mgb1em {
  margin-bottom: 1em;
}
.mgb05em {
  margin-bottom: 0.5em;
}
.mgb0 {
  margin-bottom: 0;
  padding-bottom: 0;
}
/*装飾*/
.catch1 {
  font-size: 1.3rem;
  font-weight: bold;
}
.txtBnrInline {
  display: inline-block;
}
.txtBnrInline a {
  display: inline-block;
  text-decoration: none;
  line-height: normal;
  padding: 0.5em 2.5em 0.5em 2em;
  margin: 0;
  /*border-radius: 5px;*/
  /* -webkit-border-radius: 5px;*/
  -moz-border-radius: 5px;
  color: #73B7E0;
  background-color: #fff;
}
.box1 {
  border: 2px solid #fff;
  padding: 2em;
}
.ex {
  font-size: 14px;
  text-indent: -1em;
  padding-left: 1em;
	text-align: left;
}
/*navi*/
.icon-hamburger {
  background: #fff;
  border: 1px solid #ccc;
  cursor: pointer;
  height: 50px;
  position: relative;
  width: 50px;
	display: none;
  margin-bottom: 0.4em;
}

.icon-hamburger span {
  background: #cccccc;
  display: block;
  height: 16%;
  left: 50%;
  margin: -8% 0 0 -42%;
  position: absolute;
  top: 50%;
  width: 84%;
}

.icon-hamburger span::before,
.icon-hamburger span::after {
  background: #cccccc;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: -8% 0 0 -50%;
  position: absolute;
  top: 50%;
  width: 100%;
}

.icon-hamburger span::before {
  margin-top: -38%;
}

.icon-hamburger span::after {
  margin-top: 19%;
}

@media screen and (max-width: 768px) {
  .icon-hamburger {
    display: inline-block;
  }
}
nav {
  margin: 0;
  position: relative;
}

/*nav ul {
  border: 1px solid #ccc;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}*/

/*nav ul li {
  flex: 1;
}
*/
/*nav ul li a {
  background: #fff;
  border-right: 1px solid #ccc;
  color: #333;
  display: block;
  padding: 0.6em 0.4em;
  text-align: center;
  text-decoration: none;
}*/

/*nav ul li a:hover {
  background: #ccc;
  color: #ffffff;
}*/

/*nav ul li:last-child a {
  border-right: none;
}*/


/*nav*/
nav {
  padding-top: 1.5em;
}
nav ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
}
nav ul li {
  margin-right: 1rem;
  list-style-type: none;
}
nav ul li a {
  display: block;
  padding: 10px;
  text-decoration: none;
  color: #333;
}
.type1 .type1-menu a {
  position: relative;
}
.type1 .type1-menu a::after {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  content: "";
  width: 0%;
  height: 2px;
  background: #333;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.type1 .type1-menu a:hover::after {
  width: 100%;
}
.type1 {
  margin: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  nav ul {
    display: none;
    position: absolute;
    width: 100%;
  }
  nav ul li a {
    border-bottom: 1px solid #ccc;
    border-right: none;
  }
  nav ul li:last-child a {
    border-bottom: none;
  }
}

header{
	position: fixed;
	z-index: 100;
	width: 100%;
	background-color: #fff;
}
.logo {
    float: left;
    margin: 20px 0 10px 10px;

}
.logo img{
		width: 80%;
}
/*kv*/
.kv{
	padding-top: 90px;
	margin-bottom: 0;
}
/*sns*/
.dummy{
	background-color: #ccc;
	height: 300px;
}
footer {
    padding: 0.5em 0;
}