@charset "utf-8";


/*PC・タブレット・スマホ(全端末)共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	-webkit-text-size-adjust: none;
	color: #888888;	/*全体の文字色*/
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 16px;	/*文字サイズ*/
	line-height: 1.7;		/*行間*/
	background: #fff;	/*背景色*/
}
h1,h2,h3,h4,h5,p,ol,dl,dt,dd,form,figure,form,select,input,textarea {margin: 2px;padding: 2px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: bottom;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}


/* マーカー*/
.marker {
 background: linear-gradient(transparent 75%, #CBE6FA 75%);
 
}


h1{
  font-size:80%;
  color: #68bcde;
  font-weight:normal;
  line-height: 1.0;
}


h2 {
  border-bottom: solid 3px #CDDDE9;
  position: relative;
	font-size: 22px;
}

h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #82A9D3;
  bottom: -3px;
  width: 32%;
}


.ttl {border-bottom: solid 1px #7a7a7a}


/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #999;	/*リンクテキストの色*/
	transition: 0.3s;	/*マウスオン時の移り変わるまでの時間設定。0.3秒。*/
	text-decoration: none;
}
a:hover {
	color: #c392a9;	/*マウスオン時の文字色*/
}



/*コンテナー（ホームページを囲む一番外側のブロック）
---------------------------------------------------------------------------*/
#container {
	max-width: 1000px;	/*ブロックの最大幅*/
	margin: 0 auto;

}




/*コンテンツのp(段落)タグ設定*/
#contents p {
	padding: 0px 10px 20px;	/*上、左右、下への余白*/
}
/*他。微調整。*/
#contents p + p {
	margin-top: -5px;
}

#contents section + section {
	margin-top: 30px;
}


/*テーブル
---------------------------------------------------------------------------*/
table{
  box-sizing: border-box;
  border-collapse:collapse;

 
}

@media (max-width: 650px) {
    table{
      width: 100%;
    }
    table th,
    table td{
      display: block;
    }
    table th,
    table td{
      border-top: none;    
    }
  }


/*２列を１列に
---------------------------------------------------------------------------*/

.col_2{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_2 > div{
	width: 50%;
	padding: 4px;
}
@media screen and (max-width: 800px) {

.col_2 > div{
		width: 100%;
	}
}


/*２列を１列に tw fb
---------------------------------------------------------------------------*/

.col_s{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_s > div{
	width: 50%;
	padding: 20px;
}
@media screen and (max-width: 800px) {

.col_s > div{
		width: 100%;
	}
}

/*３列を2列に
---------------------------------------------------------------------------*/

.col_3{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_3 > div{
	width: 33.33333%;
	padding: 8px;
}
@media screen and (max-width: 960px) {
	.col_3 > div{
		width: 50%;
	}
}
@media screen and (max-width: 480px) {
	.col_3 > div{
		width: 50%;
	}
}

/*6列
---------------------------------------------------------------------------*/


.col_6{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_6 > div{
	width: 16.666%;
	padding: 20px;
}
.col_6 > div > div{
	position: relative;
	overflow: hidden
}
@media screen and (max-width: 960px) {
	.col_6 > div{
		width: 33.33333%;
	}
}
@media screen and (max-width: 480px) {
	.col_6 > div{
		width: 33.33333%;
	}
}



/*トップのボタン
---------------------------------------------------------------------------*/


.btn-flat-border {
  display: inline-block;
	width: 100%;
	text-align: center;
	font-weight: bold;
  padding: 0.5em 1em;
  text-decoration: none;
  color: #7498B2;
  border: solid 2px #7498B2;
  border-radius: 3px;
  transition: .4s;
}

.btn-flat-border:hover {
  background: #7498B2;
  color: white;
}






/*その他
---------------------------------------------------------------------------*/
.look {background: #e5e5e5;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px;}
.color1 {color: #990000;}
.pr {font-size: 12px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}




*, *:before, *:after {
	box-sizing: border-box;
}


.twitter-wrap{
	width: 600px;
	margin: 0 auto;
}
@media (max-width: 800px) {
  .twitter-wrap{
		width: auto;
    overflow: hidden;
  }
  .twitter-wrap iframe{
    /* 20pxの部分は埋め込んだタイムラインの左右に必要な余白の総計を記載 */
    width: calc(100vw - 20px)!important;
  }
}



hr{
border:none;
border-top:dashed 1px #999999;
height:1px;
color:#F3F4F5;
}


/*画面幅580px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 15px;	/*文字サイズ*/
	line-height: 1.3;	/*行間*/
}



/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}

}


/*================================================
 *  ヘッダー
 ================================================*/

/* 本文をメニューの高さ分下げる */
#main {
  margin-top: 55px;
}

#navi {
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  height: 80px;
  width: 100%;
	z-index: 1;/* z-indexを書き加えた */
}
/* チェックボックスを非表示 */
#navi input {
  display: none;
}
/* 左上ロゴ */
.menu-left {
  float: left;
  line-height: 60px;
}
.menu-left img {
  vertical-align: middle;
  margin-left: 10px;
}
/* 上部メニュー */
#menu {
  float: right;
  margin-right: 10px;
}
#menu li {
  position: relative;
  white-space: nowrap;
}
#menu li a {
  display: block;
}
#menu > li {
  float: left;
  margin: 0 15px;
  line-height: 60px;
  font-size: 17px;
  font-weight: bold;
}
/* パソコンでは V を非表示 */
#menu > li .pd {
  display: none;
}

#menu-navibtn {
  display: none;
  cursor: pointer;
  cursor: hand;
}

/* スマホ用 */
@media screen and (max-width: 800px) {
  /* 基本非表示 */
  #menu {
    display: none;
  }
  #menu li {
    height: auto;
    width: 100%;
    padding: 0px 20px;
    border-bottom: 1px solid #DDD;
    white-space: nowrap;
  }
  #menu > li {
    margin-right: -20px;
  }
  /* V を表示 */
  #menu > li .pd {
    display: inline-block;
    width: 100%;
  }
  #menu li a {
    display: inline-block;
  }
  #menu li:first-child {
    border-top: 1px solid #DDD;
  }
  #menu li i {
    padding: 0px 6px;
  }
  /* メニューを移動させないため */
  #menu-navibtn:checked ~ #navi {
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
  }
}



/* パソコン用 */
@media screen and (min-width: 620px) {
  #menu li:hover {
    background: #EEE;
  }
  #menu > li:hover > ul > li,
  #menu li ul li:hover > ul > li {
    display: block;
  }
  /* 階層がある場合の誘導の印 */
  #menu li ul li ul:before,
  #menu li ul li ul li ul:before,
  #menu li:nth-child(n+3) ul li ul:before {
    position: absolute;
    top: 28px;
    content: "";
    border: 5px solid transparent;
    display: block;
  }
  /* 通常タイプ */
  #menu li ul li ul:before {
    left: -10px;
    border-left-color: #666;
  }
  /* 右側タイプ */
  #menu li ul li ul li ul:before,
  #menu li:nth-child(n+3) ul li ul:before {
    right: -10px;
    border-right-color: #666;
  }
}
/* スマホ用 */
@media screen and (max-width: 620px) {
  /* ハンバーガーメニューがクリックされた時 */
  #menu-navibtn:checked ~ * #menu {
    display: block;
  }
  #menu-navibtn:checked ~ * #menu > li {
    max-height: inherit;
    overflow-y: visible;
  }
  #menu > li ul {
    line-height: 50px;
  }
  #menu > li > label:hover {
    cursor: pointer;
    cursor: hand;
  }
  #menu li ul {
    position: static;
  }
  
}

/* ハンバーガー */
#navi #navibtn {
  display: none;
}
@media screen and (max-width: 800px) {
  #navi #navibtn {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
  }
  #navibtn span {
    display: block;
    width: 40px;
    height: 40px;
	border-radius: 5%;
    background-color: #7498B2;
  }
  #navibtn span span {
    display: block;
    overflow: hidden;
    width: 1px;
    height: 1px;
  }
  #navibtn span span::before,
  #navibtn span span::after,
  #navibtn span::after {
    position: absolute;
    left:10px;
    content:"";
    width: 20px;
    height: 3px;
    background-color: #FFF;
  }
  /* 上の棒 */
  #navibtn span span::before {
    top:10px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::before {
    top:19px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  /* 下の棒 */
  #navibtn span::after {
    bottom:10px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn > span::after {
    bottom:18px;
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
  }
  /* 中の棒 */
  #navibtn span span::after {
    top:18px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::after {
    display: none;
  }
}



/*================================================
 *  フッター
 ================================================*/
footer {
	clear: both;
	margin-top: 80px;
	background: #ddd;
}

.fnav {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 0 50px;
	padding: 20px 0;
}

.fnav > ul {
	width: 33%;
	margin-bottom: 0;
	font-size: 12px;
}
.fnav > ul li {
	text-align: left;
}

.copyright {
	padding: 20px 0;
	color: #fff;
	font-size: 11px;
	text-align: center;
	background: #000;
}

@media screen and (max-width:800px) {
	footer {
		margin-top: 40px;
	}

	.fnav {
		display: block;
		margin: 0;
	}
	.fnav > ul {
		width: 100%;
	}
}

/*================================================
 *  画像切り替え
 ================================================*/

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc { display: none !important; }
.sp { display: block !important; }
}


/*================================================
 *  横幅いっぱい
 ================================================*/

.full {
  background: #efefef;
  margin: 0px calc(50% - 50vw);
  padding: 0px calc(50vw - 50% + 0px);
  width: 100vw;
}

.full2 {
  background: #515B63;
  margin: 0px calc(50% - 50vw);
  padding: 0px calc(50vw - 50% + 0px);
  width: 100vw;
}

.full3 {
  background: #F0F5F8;
  margin: 0px calc(50% - 50vw);
  padding: 0px calc(50vw - 50% + 0px);
  width: 100vw;
}

.full4 {
  background: #070709;
  margin: 0px calc(50% - 50vw);
  padding: 0px calc(50vw - 50% + 0px);
  width: 100vw;
}

/*================================================
 *  ボタン
 ================================================*/

.btn-flat-border {
  display: inline-block;
  padding: 0.7em 2em;
  text-decoration: none;
  font-weight: bold;
  background: #82A9D3;
  color: white;
  border: solid 2px #82A9D3;
  border-radius: 3px;
  transition: .4s;
}

.btn-flat-border:hover {
  background: #94c0f0;
  color: white;
  font-weight: bold;
}



/*================================================
 *  SNS
 ================================================*/
/* ボタン全体 */
.flowbtn8{
border-radius:50%;
position:relative;
display:inline-block;
width:80px;
height:80px;
font-size:40px;
text-decoration:none;
transition:.5s;
}
/* ボタンマウスホバー時のテキスト指定 */
.flowbtn8:hover{
color:#fff!important;
}
/* アイコンをど真ん中に */
.flowbtn8 i{
position:absolute;
top:50%;
left:50%;
-ms-transform:translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
transform:translate(-50%,-50%);
}
/* Twitter */
.flowbtn8.fl_tw2{
border:solid 1.5px #fff;
color:#fff;
}
/* Twitterマウスホバー時 */
.flowbtn8.fl_tw2:hover{
border:solid 1px #55acee;
background:#55acee;
}
/* Instagram */
.flowbtn8.insta_btn2 {
border:solid 1.5px #fff;
color:#fff;
font-size:35px;
}
/* Instagramマウスホバー時 */
.flowbtn8.insta_btn2:hover{
border:solid 1px #c6529a;
background:#c6529a;
}
/* Facebook */
.flowbtn8.fl_fb2{
border:solid 1.5px #fff;
color:#fff;
}
/* Facebookマウスホバー時 */
.flowbtn8.fl_fb2:hover{
border:solid 1px #3b5998;
background:#3b5998;
}
/* YouTube */
.flowbtn8.fl_yu2{
border:solid 1.5px #fff;
color:#fff;
font-size:28px;	
}
/* YouTubeマウスホバー時 */
.flowbtn8.fl_yu2:hover{
border:solid 1px #fc0d1c;
background:#fc0d1c;
}
/* お問い合わせ */
.flowbtn8.fl_ma2{
border:solid 1.5px #fff;
color:#fff;	
font-size:28px;
}
/* お問い合わせマウスホバー時 */
.flowbtn8.fl_ma2:hover{
border:solid 1px #f3981d;
background:#f3981d;
}
/* ulタグの内側余白を０にする */
ul.snsbtniti{
padding:0!important;
}
/* ボタン全体の位置 */
.snsbtniti{
display:flex;
flex-flow:row wrap;
justify-content:space-around;
}
/* ボタン同士の余白 */
.snsbtniti li{
flex:0 0 25%;
text-align:center!important;
}
