@charset "UTF-8";
/* ==========================================
  リセットCSS
========================================== */
ol,
ul {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
img,
p {
  margin: 0;
  padding: 0;
}

/* ==========================================
  royalblue（リンク色）、lightblue（ホバーしたときの色）
  をそれぞれ好きな色に一括置換するとメインカラーが変わります
 ========================================== */
body {
  background: #fff;
  font-family: YuGothic,'Yu Gothic','TsukuBRdGothic-Regular','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Cambria Math','Avenir',sans-serif;
  padding: 0;
  margin: 0;
}

body, input, textarea { font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; }
.rich_font, .p-vertical { font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif; font-weight:500; }
.rich_font_type1 { font-family: Arial, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif; }
.rich_font_type2 { font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif; font-weight:500; }
.rich_font_type3 { font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif; font-weight:500; }

body#text p {
  line-height: 2em;
}

dl {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
}

dl dd,
dl dt {
  display: block;
}

.row {
/*  background: white;*/
  /* コンテンツの背景色 */
}

a {
  text-decoration: none;
  color: royalblue;
  -webkit-transition: .2s;
  transition: .2s;
  /* リンクの色 */
}

a:hover {
  color: lightblue;
  /* リンクをホバーすると色が明るくなります */
}

a img:hover {
  -webkit-filter: brightness(120%);
          filter: brightness(120%);
  -webkit-transition: .2s;
  transition: .2s;
}

p, ul, dl {
  font-size: 16px;
/*  padding-left: 20px;*/
/*  padding-right: 30px;*/
  margin: 0 0 40px 0;
}

p.img {
  font-size: 16px;
/*  padding-left: 20px;*/
/*  padding-right: 30px;*/
  margin: 0;
}

@media screen and (max-width: 767px) {
  p, ul, dl {
    font-size: 14px;
    padding-left: 10px;
    padding-right: 10px;
    margin: 0 0 30px 0;
  }
}

h1, h2, h3, h4 {
  font-family: "Kulim Park", "M PLUS 1p", sans-serif;
}

h4 {
  padding-left: 10px;
  margin: 20px 0 10px;
  font-size: 120%;
}

p#menubtn {
  color: #333333;
  margin: 0;
  cursor: pointer;
  display: block;
  width: 50px;
  height: 50px;
  text-align: center;
  font-size: 25px;
  position: absolute;
  color: #333333;
  top: 5px;
  right: 10px;
  -webkit-transition: color 0.4s;
  transition: color 0.4s;
  z-index: 99999;
  display: none;
}

@media screen and (max-width: 991px) {
  p#menubtn {
    display: block;
  }
}

.margin-top {
  margin-top: 30px;
}

.margin-bottom {
  margin-bottom: 30px;
}

.center {
  text-align: center;
}

img {
  max-width: 100%;
}

img + img {
  margin-left: 5px;
}

h2 {
  font-size: 190%;
  font-weight: 500;
  margin: 40px 5px 20px 5px;
  color: black;
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 767px) {
  h2 {
    font-size: 150%;
  }
}

a.btn {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 10px 30px;
  background: gray;
  color: #ffffff;
  margin: 20px auto;
  -webkit-transition: .2s;
  transition: .2s;
}

a.btn:hover {
  background: #b3b3b3;
  -webkit-transition: .2s;
  transition: .2s;
}

a.btn.white {
  background: #ffffff;
  color: #333333;
}

a.btn.white:hover {
  color: #666666;
  -webkit-transition: .2s;
  transition: .2s;
}

a.btn.black {
  background: #333333;
}

a.btn.black:hover {
  background: #595959;
  -webkit-transition: .2s;
  transition: .2s;
}

a.btn.pink {
  background: #fa3c72;
}

a.btn.pink:hover {
  background: #fc87a8;
  -webkit-transition: .2s;
  transition: .2s;
  color: #ffffff;
}

a.btn.blue {
  background: #4169e1;
}

a.btn.blue:hover {
  background: #839deb;
  -webkit-transition: .2s;
  transition: .2s;
  color: #ffffff;
}

hr {
  height: 2px;
  background-color: black;
  width: 100px;
  border: none;
  margin: 60px auto;
}

.row > h2 {
  padding-left: 15px;
  padding-right: 15px;
}

h3 {
  font-weight: normal;
  font-size: 130%;
  display: block;
  margin: 60px 0 30px 0;
/*  border-left: 4px solid;*/
  padding: 5px 0;/*上下 左右の余白*/
}

.swiper-container {
  width: 100%;
  height: 500px;
}

@media screen and (max-width: 991px) {
  .swiper-container {
    height: 400px;
  }
}

@media screen and (max-width: 767px) {
  .swiper-container {
    height: 300px;
  }
}

.swiper-slide {
  position: relative;
}

.swiper-slide img {
  position: relative;
  z-index: 1;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.swiper-slide .text {
  background: transparent;
  position: absolute;
  z-index: 100;
  top: 30%;
}

@media screen and (max-width: 767px) {
  .swiper-slide .text {
    top: 13%;
  }
}

/* ------------------------------------------
  パララックスコンテンツ
------------------------------------------ */
.index_parallax { width:100%; height:600px; overflow:hidden; position:relative; }
.index_parallax .caption {
  font-size:22px; color:#fff; line-height:1.5; margin:auto; z-index:3; text-align:center;
  /*width:900px;*/ margin:0 auto; position:absolute; left:0; right:0;
  top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
}
.index_parallax.direction_type1 .caption .desc { text-align:left; }
.index_parallax.direction_type3 .caption .desc { text-align:right; }
.index_parallax .catch { font-size:30px; line-height:1.5; margin:0 0 35px 0; }
.index_parallax .desc { font-size:16px; line-height:1.8; }
.index_parallax .overlay { width:100%; height:100%; position:absolute; top:0px; left:0px; background:rgba(0,0,0,0.3); z-index:2; }
.index_parallax .bg_image { width:100%; height:170%; position:absolute; top:0px; left:0px; z-index:1; }
.slick-list { padding:0 !important; }


/* ------------------------------------------
  トップページ　ビデオ
------------------------------------------ */
#index_header_content { width:100%; height:1000px; position:relative; overflow:hidden; top: -70px}
.pc #index_header_content.height_type2 { height:100vh; }
#index_slider_wrap { width:100%; height:100%; position:relative; }
#index_slider { width:100%; height:100%; overflow:hidden; position:relative; }
#index_slider .item { width:100%; height:100%; position:relative; opacity:1 !important; }
#index_slider .catch { font-size:55px; color:#FFFFFF; text-shadow:1px 1px 3px #888888; }
#index_slider .desc { font-size:14px; color:#FFFFFF; text-shadow:1px 1px 3px #888888; }


/* 画像 */
#index_slider .item .slice_image { width:calc(100% / 8 - 0.01px); height:1000px; float:left; position:relative; overflow:hidden; }
.pc #index_header_content.height_type2 #index_slider .item .slice_image { height:100vh; }
#index_slider .item .image_wrap { width:100%; height:100%; overflow:hidden; position:absolute; left:0; top:0px; }
#index_slider .item .image {
  width:800%; height:100%; z-index:2;
  background-repeat:none; background-size:cover; background-position:center;
  position:absolute; left:0px; top:0px;
}
#index_slider .item .slice_image:nth-child(1) .image { left:0px; }
#index_slider .item .slice_image:nth-child(2) .image { left:-100%; }
#index_slider .item .slice_image:nth-child(3) .image { left:-200%; }
#index_slider .item .slice_image:nth-child(4) .image { left:-300%; }
#index_slider .item .slice_image:nth-child(5) .image { left:-400%; }
#index_slider .item .slice_image:nth-child(6) .image { left:-500%; }
#index_slider .item .slice_image:nth-child(7) .image { left:-600%; }
#index_slider .item .slice_image:nth-child(8) .image { left:-700%; }
#index_slider .slice_image_list.mobile { display:none; }


/* 動画 */
#index_video_bg {
	position:relative;
	width:100%;
	height:100%;
}
#index_video {
	position:absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;	overflow:hidden;
}
#index_video_mp4 {
	position:absolute;
	z-index:2;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}
#video_poster {
	width:100%;
	height:100%;
	position:absolute;
	z-index:1;
}


/* キャプション */
#index_slider .caption {
  padding:0; /*width:800px;*/ margin:auto; position:absolute; text-align:center; z-index:100;
  left:0px; right:0px; top:50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
#index_slider .direction_type1 .caption_inner { text-align:left; }
#index_slider .direction_type2 .caption_inner { text-align:center; }
#index_slider .direction_type3 .caption_inner { text-align:right; }
#index_slider .logo { position:relative; }
#index_slider .logo img { display:inline-block; }
#index_slider .catch { line-height:1.3; word-wrap: break-word; position:relative; font-weight:500; margin:0; }
#index_slider .desc { font-size:16px; line-height:1.3; margin:15px 0 0 0; position:relative; }
#index_slider .button {
  font-size:14px; min-width:200px; height:55px; line-height:55px; text-align:center; position:relative; padding:0 60px; margin-top:25px; display:inline-block;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

#index_slider .caption.mobile { display:none; }


/* 検索エリア */
#index_slider .search_area {
  width:450px; height:50px; position:relative; margin:47px auto 0;
  background:rgba(255,255,255,0.7);
}
#index_slider .direction_type3 .search_area { float:right; }
#index_slider .direction_type1 .search_area { float:left; }
#index_slider .search_input input {
  border:none; background:none; height:50px; position:absolute; left:0px; top:0px; width:400px; padding:0 20px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
}
#index_slider .search_input input::placeholder { color:#000; opacity:1; }
#index_slider .search_button { position:relative; }
#index_slider .search_button input {
  border:none; background:none; width:50px; height:50px; position:absolute; right:0px; top:0px; overflow:hidden; text-indent:-300px; cursor:pointer; text-align:left;
  -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
}
#index_slider .search_button label {
  overflow:hidden; width:18px; height:18px; text-indent:-300px; cursor:pointer; display:block; text-align:left;
  position:absolute; right:15px; top:18px;
}
#index_slider .search_button label:before {
  text-indent:0; display:block; width:18px; height:18px; line-height:100%; text-align:center; cursor:pointer; z-index:1;
  position:absolute; font-family:'design_plus'; color:#333; font-size:18px; content:'\e915';
  -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
}
#index_slider .search_button:hover label:before { color:#fff; }
#index_slider .search_button:hover input { background:#000; }


/* オーバーレイ */
#index_slider .overlay { position:absolute; top:0px; left:0px; width:100%; height:100%; z-index:3; }


/* ------------------------------------------
  トップページ　スライダー
------------------------------------------ */
.swiper-slide .text p {
  padding: 0;
}

.swiper-slide .text.center {
  text-align: center;
  left: 0;
  right: 0;
}

.swiper-slide .text.left {
  text-align: left;
  left: 20%;
}

@media screen and (max-width: 991px) {
  .swiper-slide .text.left {
    left: 10%;
  }
}

@media screen and (max-width: 767px) {
  .swiper-slide .text.left {
    left: 4%;
  }
}

.swiper-slide .text.left a.btn {
  margin-left: 0;
}

.swiper-slide .text.right {
  text-align: right;
  right: 20%;
}

@media screen and (max-width: 991px) {
  .swiper-slide .text.right {
    right: 10%;
  }
}

@media screen and (max-width: 767px) {
  .swiper-slide .text.right {
    right: 4%;
  }
}

.swiper-slide .text.right a.btn {
  margin-right: 0;
}

.swiper-slide .text.white {
  color: white;
}

.swiper-slide .text.black {
  color: #333333;
}

.swiper-slide .text strong {
  font-size: 200%;
  line-height: 2em;
  font-family: "Kulim Park", "M PLUS 1p", sans-serif;
}

/* ------------------------------------------
  input
------------------------------------------ */
input[type=submit] {
  border: 1px solid #e2e2e2;
  padding: 2px 8px;
  font-size: 16px;
}

input[type=submit]:focus {
  outline: none;
}

/* ------------------------------------------
  ヘッダー header
------------------------------------------ */
header {
  position: -webkit-sticky;
  position: sticky;
  z-index: 1000;
  top: 0;
  height: 70px;
  background: #ffffffad;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}

header .container {
  height: 70px;
}

header .row {
  background: transparent;
}

header .header__wrapper {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  height: 70px;
  position: relative;
}

header h1 {
  color: black;
  padding: 0;
  font-size: 180%;
  line-height: 70px;
}

header ul#navmenu {
  display: -webkit-box;
  display: flex;
  margin: 0;
}

header ul#navmenu li {
  height: 70px;
  padding-left: 10px;
  padding-right: 10px;
}

header ul#navmenu li a {
  display: block;
  position: relative;
  height: 100%;
  line-height: 70px;
  color: #333333;
}

header ul#navmenu li a:after {
  position: absolute;
  bottom: 1px;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background: royalblue;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

header ul#navmenu li a:hover {
  color: inherit;
}

header ul#navmenu li a:hover:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

@media screen and (max-width: 991px) {
  header {
    height: auto;
    min-height: 60px;
  }
  header h1 {
    font-size: 150%;
    line-height: 50px;
  }
  header .container, header .header__wrapper {
    height: auto;
    min-height: 60px;
  }
  header .header__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
  }
  header ul#navmenu {
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    padding: 0;
    width: calc(100% + 30px);
    margin: 0 -15px;
  }
  header ul#navmenu.checked {
    display: -webkit-box;
    display: flex;
  }
  header ul#navmenu li {
    height: 50px;
    padding-left: 10px;
    padding-right: 10px;
  }
  header ul#navmenu li a {
    line-height: 50px;
  }
}


/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
#news {
	margin: 0 25px;	/*上下、左右へのボックス内の余白*/
}
@media screen and (max-width: 767px) {
	#news {
		margin: 0;	/*上下、左右へのボックス内の余白*/
	}
}

/*「パララックス」ブロック
---------------------------------------------------------------------------*/
/*パララックスブロック*/
#parallax {
	margin: 0 25px;	/*上下、左右へのボックス内の余白*/
}
@media screen and (max-width: 767px) {
	#parallax {
		margin: 0;	/*上下、左右へのボックス内の余白*/
	}
}

/*「練習場」ブロック
---------------------------------------------------------------------------*/
/*練習場ブロック*/
#practices {
	margin: 0 25px;	/*上下、左右へのボックス内の余白*/
}
@media screen and (max-width: 767px) {
	#practices {
		margin: 0;	/*上下、左右へのボックス内の余白*/
	}
}

/*「ドローン」ブロック
---------------------------------------------------------------------------*/
/*ドローンブロック*/
.drone {
	margin: 0 25px;	/*上下、左右へのボックス内の余白*/
}
@media screen and (max-width: 991px) {
	.drone {
		margin: 0;	/*上下、左右へのボックス内の余白*/
	}
}



dl.update {
  font-size: 14px;
}

dl.update dt {
  width: 100px;
  margin-bottom: 10px;
  color: black;
}

dl.update dd {
  width: calc(100% - 120px);
  margin: 0;
  margin-bottom: 10px;
}

ul.novel-1 {
  margin-bottom: 30px;
}

ul.novel-1 li {
  display: -webkit-box;
  display: flex;
}

ul.novel-1 li.new:after {
  content: 'new';
  color: #ffffff;
  font-size: 12px;
  font-weight: bold;
  margin: auto 0 auto 5px;
  background: orangered;
  display: block;
  padding: 0 7px;
  height: 17px;
  line-height: 17px;
  border-radius: 10px;
}

ul.novel-1 li a {
  display: block;
  margin-right: 10px;
  white-space: nowrap;
}

ul.novel-1 li span {
  display: block;
}

ul.novel-2 {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

ul.novel-2 li {
  display: -webkit-box;
  display: flex;
}

ul.novel-2 li.new:after {
  content: 'new';
  color: #ffffff;
  font-size: 12px;
  font-weight: bold;
  margin: auto 0 auto 5px;
  background: orangered;
  display: block;
  padding: 0 7px;
  height: 17px;
  line-height: 17px;
  border-radius: 10px;
}

ul.novel-2 li a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

ul.novel-2 li:not(:first-of-type):before {
  content: '/';
  margin: 0 5px;
}

ul.illust-1 {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin: 20px auto;
}

ul.illust-1 li {
  position: relative;
  height: 100px;
  width: 100px;
  margin-bottom: 5px;
}

ul.illust-1 li:not(:last-of-type) {
  margin-right: 5px;
}

ul.illust-1 li a {
  display: block;
  -webkit-transition: .2s;
  transition: .2s;
}

ul.illust-1 li a img {
  width: 100px;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
}

ul.illust-1 li.new::after {
  content: 'new';
  font-family: "Kulim Park", "M PLUS 1p", sans-serif;
  position: absolute;
  padding: 0 5px;
  left: -3px;
  top: 0px;
  display: block;
  font-size: 12px;
  font-weight: bold;
  background: #333333;
  color: #ffffff;
  height: 18px;
  line-height: 18px;
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
  padding: 0 7px;
}

@media screen and (max-width: 767px) {
  ul.illust-1 li {
    height: 70px;
    width: 70px;
  }
  ul.illust-1 li a img {
    height: 70px;
    width: 70px;
  }
}


/*画像ボックス 横3列 中央*/
ul.illust-c {
  display: -webkit-box;
  display: flex;
  justify-content:center; /*これを指定*/
  align-items:center; /*これを指定*/
  flex-wrap: wrap;
  margin: 20px auto;
}

ul.illust-c li {
  position: relative;
/*  height: 300px;*/
  width: 290px;
  margin-bottom: 5px;
  text-align: center;
}

ul.illust-c li:not(:last-of-type) {
  margin-right: 5px;
}

ul.illust-c li a {
  display: block;
  -webkit-transition: .2s;
  transition: .2s;
}

ul.illust-c li a img {
  height: 285px;
  width: 285px;
  -o-object-fit: cover;
     object-fit: cover;
}

ul.illust-c li.new::after {
  content: 'new';
  font-family: "Kulim Park", "M PLUS 1p", sans-serif;
  position: absolute;
  padding: 0 5px;
  left: -3px;
  top: 0px;
  display: block;
  font-size: 14px;
  font-weight: bold;
  background: #333333;
  color: #ffffff;
  height: 25px;
  line-height: 25px;
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
  padding: 0 10px;
}

@media screen and (max-width: 767px) {
  ul.illust-c li {
/*    height: 200px;*/
    width: 200px;
  }
  ul.illust-c li a img {
    height: 200px;
    width: 200px;
  }
}

/*画像ボックス 横3列 左寄せ*/
ul.illust-l {
  display: -webkit-box;
  display: flex;
  justify-content:flex-start; /*これを指定*/
  align-items:center; /*これを指定*/
  flex-wrap: wrap;
  margin: 20px auto;
}

ul.illust-l li {
  position: relative;
/*  height: 300px;*/
  width: 290px;
  margin-bottom: 5px;
  text-align: center;
}

ul.illust-l li:not(:last-of-type) {
  margin-right: 5px;
}

ul.illust-l li a {
  display: block;
  -webkit-transition: .2s;
  transition: .2s;
}

ul.illust-l li a img {
  height: 285px;
  width: 285px;
  -o-object-fit: cover;
     object-fit: cover;
}

ul.illust-l li.new::after {
  content: 'new';
  font-family: "Kulim Park", "M PLUS 1p", sans-serif;
  position: absolute;
  padding: 0 5px;
  left: -3px;
  top: 0px;
  display: block;
  font-size: 14px;
  font-weight: bold;
  background: #333333;
  color: #ffffff;
  height: 25px;
  line-height: 25px;
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
  padding: 0 10px;
}

@media screen and (max-width: 767px) {
  ul.illust-l li {
/*    height: 200px;*/
    width: 200px;
  }
  ul.illust-l li a img {
    height: 200px;
    width: 200px;
  }
}


/*画像ボックス 横3列 右寄せ*/
ul.illust-r {
  display: -webkit-box;
  display: flex;
  justify-content:flex-end; /*これを指定*/
  align-items:center; /*これを指定*/
  flex-wrap: wrap;
  margin: 20px auto;
}

ul.illust-r li {
  position: relative;
/*  height: 300px;*/
  width: 290px;
  margin-bottom: 5px;
  text-align: center;
}

ul.illust-r li:not(:last-of-type) {
  margin-right: 5px;
}

ul.illust-r li a {
  display: block;
  -webkit-transition: .2s;
  transition: .2s;
}

ul.illust-r li a img {
  height: 285px;
  width: 285px;
  -o-object-fit: cover;
     object-fit: cover;
}

ul.illust-r li.new::after {
  content: 'new';
  font-family: "Kulim Park", "M PLUS 1p", sans-serif;
  position: absolute;
  padding: 0 5px;
  left: -3px;
  top: 0px;
  display: block;
  font-size: 14px;
  font-weight: bold;
  background: #333333;
  color: #ffffff;
  height: 25px;
  line-height: 25px;
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
  padding: 0 10px;
}

@media screen and (max-width: 767px) {
  ul.illust-r li {
/*    height: 200px;*/
    width: 200px;
  }
  ul.illust-r li a img {
    height: 200px;
    width: 200px;
  }
}


/*リンクボックス*/
ul.link01 {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: start;
          justify-content: flex-start;
  margin: 10px 0;
}

ul.link01 li {
  margin-right: 8px;
}

ul.link02 {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
}

ul.link02 li {
  display: -webkit-box;
  display: flex;
}

ul.link02 li a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

ul.link02 li:not(:first-of-type):before {
  content: '/';
  margin: 0 5px;
}

/* ------------------------------------------
  問い合わせ
------------------------------------------ */
.mailform {
  text-align: center;
}

.mailform textarea {
  margin: 0 0 15px;
  font-size: 14px;
  line-height: 1.6em;
  border: 1px solid #d0d0d0;
  padding: 10px;
  width: 100%;
  border-radius: 5px;
  vertical-align: bottom;
  background: #fcfcfc;
}

.mailform textarea:focus {
  outline: none;
  background: #ffffff;
}

.mailform input {
  margin: 0 0 15px;
  font-size: 16px;
  border: 1px solid #d0d0d0;
  padding: 10px;
  width: 100%;
  border-radius: 5px;
  background: #fcfcfc;
  -webkit-transition: .2s;
  transition: .2s;
}

.mailform input:focus {
  outline: none;
  background: #ffffff;
}

.mailform input[type="submit"] {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0px auto 20px;
  padding: 10px 20px;
  background: royalblue;
  color: #ffffff;
  border: none;
}

.mailform input[type="submit"]:focus, .mailform input[type="submit"]:hover {
  background: lightblue;
}

/* ------------------------------------------
  ボタン
------------------------------------------ */
.link_button { text-align:center; }
.link_button a {
  background:#000; color:#fff; display:inline-block; min-width:250px; height:60px; line-height:60px; padding:0 20px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}

/* ------------------------------------------
  footer
------------------------------------------ */
#footer {
	width:100%;
	min-width:inherit;
	background:#f2f2f2;
}

#footer_inner {
	width: auto;
	margin: 0 auto;
	padding: 40px 0 10px;
	position: relative;
}

#footer_banner .item {
	width: 100%;
	height: 125px;
	overflow: hidden;
	float: left;
	margin:0 10px 10px 0;
}

#footer_banner { margin:0 20px 30px; }


@media screen and (min-width: 500px) {
	#footer_banner .item { width:calc(50% - 5px); height:125px; }
}

@media screen and (min-width: 650px) {
	#footer_inner { width: auto; padding:60px 0 27px; }
	#footer_banner { margin:0 30px 50px; }
}
@media screen and (min-width: 950px) {
	#footer_inner { width: 800px; padding: 100px 0 70px; }
	#footer_banner { margin:0 0 50px 0; }
	#footer_banner .item { width:395px; height:150px; overflow:hidden;}
}

@media screen and (min-width: 1050px) {
	#footer { min-width: 800px; }
}

/* バナー一覧 */
#footer_banner .item:nth-child(2n) { margin-right:0; }
#footer_banner .item a { display:block; width:100%; height:100%; position:relative; z-index:1; }
#footer_banner .item .caption {
  z-index:3; position:absolute; text-align:center; left:0; right:0;
  top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
}
#footer_banner .item .title { line-height:1.6; }
#footer_banner .item .desc { line-height:1.8; }
#footer_banner .item .overlay { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:2; }
#footer_banner .item .image { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:1; }

/* ロゴ */
#footer_logo { margin:0 auto; text-align:center; }
#footer_logo .logo { line-height:1; padding:0; font-weight:500; }
#footer_logo img { display:block; margin:0 auto 25px; }
#footer_logo .pc_logo_text { display:block; margin:0 0 25px; }
#footer_logo .mobile_logo_image { display:none; }
#footer_logo .mobile_logo_text { display:none; }


/* インフォメーション */
#footer_information { text-align:center; margin:0 0 20px 0; }
#footer_information p { font-size:16px; line-height:1.8; }


/* SNSボタン */
#footer_social_link { margin:0 0 30px 0; font-size:0; z-index:20; text-align:center; }
#footer_social_link li { display:inline-block; margin:0 10px; position:relative; }
#footer_social_link li a {
  display:block; overflow:hidden; width:20px; height:20px; line-height:20px; text-align:center; position:relative;
}
#footer_social_link li a span { display:none; }
#footer_social_link li a:before {
  font-family:'design_plus'; font-size:15px; display:block;
  position:absolute; top:1px; left:0; right:0;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#footer_social_link li a:hover:before { color:#aaa; }
#footer_social_link li.twitter a:before { font-family: 'tiktok_x_icon'; content: "\e901"; }
#footer_social_link li.facebook a:before { content:'\e902'; }
#footer_social_link li.insta a:before { content:'\ea92'; }
#footer_social_link li.pinterest a:before { content:'\e905'; }
#footer_social_link li.google a:before { content:'\e900'; }
#footer_social_link li.youtube a:before { font-family: 'footer_bar'; content: "\ea9d"; }
#footer_social_link li.contact a:before { content:'\f003'; }
#footer_social_link li.rss a:before { content:'\e90b'; }


/* フッターメニュー */
#footer_menu { width:100%; background:#fff; height:54px; line-height:54px; }
#footer_menu ul { margin:0; font-size:0; z-index:20; text-align:center; }
#footer_menu ul li { display:inline; font-size:14px; margin:0 10px; }
#footer_menu ul li a:hover { color:#666; }

@media screen and (max-width:500px) {
}

@media (max-width:650px) {
  #footer_information { margin:0 20px 20px; }
  #footer_information p { font-size:12px; }
  #footer_menu { height:auto; line-height:2; }
  #footer_menu ul { padding:30px 0 30px; }
  #footer_menu ul li { display:block; margin:0; }
  #footer_menu ul li a { display:block; padding:3px 20px; }
  #footer_menu ul li:last-child a { border-bottom:none; }
}

@media screen and (max-width:950px) {
  #footer_information { margin:0 30px 20px; }
  #footer_information p { font-size:14px; }
}

@media screen and (min-width:950px) {
  #footer_information { margin:0 30px 20px; }
  #footer_information p { font-size:14px; }
}


/* コピーライト */
#copyright { width:100%; line-height:60px; height:60px; font-size:12px; z-index:10; text-align:center; background:#000; color:#fff; }


/* ページ上部へ戻るボタン */
#return_top { display:block; }
#return_top a { background:#222; display:block; height:60px; width:60px; line-height:60px; text-decoration:none; z-index:100; position:relative; }
#return_top a:hover { color:#fff !important; }
#return_top span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#return_top a:before {
  color:#fff; font-family:'design_plus'; content:'\e911'; font-size:12px; display:block; width:12px; height:12px;
  position:absolute; left:0; right:0; top:4px; margin:auto;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#return_top {
  position:fixed; right:0px; bottom:0px; z-index:999;
  -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: all 0.35s;
}
#return_top.active { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
body.light_color #return_top a { color:#000; }


/* 固定コンテンツ */
#fixed_footer_content {
  position:fixed; bottom:0; left:0; width:100%; height:120px; color:#fff; padding:40px; z-index:9999;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
}
#fixed_footer_content.active { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
#fixed_footer_content a { color:#fff; text-decoration:none; }
#fixed_footer_content .content_left {
  position:absolute; left:40px; top:50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);
  width:-webkit-calc(100% - 530px); width:calc(100% - 530px);
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
#fixed_footer_content .has_image .content_left { width:-webkit-calc(100% - 840px); width:calc(100% - 840px); }
#fixed_footer_content .button {
  position:absolute; right:55px; top:50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);
  min-width:300px; height:55px; line-height:55px; text-align:center; display:inline-block; padding:0 40px 0 10px; font-size:16px;
}
#fixed_footer_content .button:after {
  font-family:'design_plus'; content:'\e910'; color:#fff; font-size:14px; display:block; position:absolute; top:1px; right:16px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#fixed_footer_content .image {
  position:absolute; right:55px; max-width:728px;
  top:50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);
}
#fixed_footer_content .image img { width:100%; max-width:100%; height:auto; display:block; }
#fixed_footer_content .close {
  position:absolute; right:5px; top:50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);
  display:block; width:40px; height:40px; border-radius:100%;
}
#fixed_footer_content span { display:none; }
#fixed_footer_content .close:before {
  font-family:'design_plus'; color:#fff; font-size:20px; display:block;
  content:'\e91a'; position:absolute; top:10px; left:10px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#fixed_footer_content .close:hover { background:rgba(255,255,255,0.1); }
#fixed_footer_content .catch { font-size:21px; margin:0; line-height:1.5; }
#fixed_footer_content .desc { font-size:14px; margin:5px 0 0 0; line-height:2; }
#fixed_footer_content .pr { background:#fff; color:#333; display:inline; font-size:12px; margin:5px 15px 0 0; padding:0 12px; border-radius:2px; height:20px; line-height:20px; float:left; }
#fixed_footer_content .pr1 { display:none; }

#fixed_footer_content .free {
  width:100%; padding-right:100px; position:absolute; left:40px;
  top:50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
#fixed_footer_content .post_content p { margin:0; line-height:1.6; }

/*
footer {
  background: #cdcdcd;
  overflow: hidden;
  margin-top: 80px;
}

footer .footer {
  padding: 30px 0;
}

footer .footer > p {
  text-align: center;
  font-size: 14px;
  margin-bottom: 10px;
}

footer .footer .title {
  font-size: 130%;
}

footer .bottom {
  background: #333333;
  color: #ddd;
}

footer .bottom .template {
  text-align: right;
  width: 100%;
  font-size: 12px;
  padding: 5px 10px;
  margin: 0;
}

footer a.home {
  text-decoration: none;
  color: #54c6ff;
  display: block;
  padding: 10px 20px;
  font-size: 14px;
}
*/

h2.h2-a {
  padding: 10px 20px;
  background: linear-gradient(45deg, black, royalblue);
  color: #ffffff;
}

h2.h2-b {
  padding: 10px 20px;
  background: transparent;
  text-align: center;
  color: #333333;
}

h2.h2-b:before {
  content: '';
  height: 2px;
  width: 10%;
  display: inline-block;
  background: #333333;
  vertical-align: middle;
  margin-right: 30px;
}

h2.h2-b:after {
  content: '';
  height: 2px;
  width: 10%;
  display: inline-block;
  background: #333333;
  vertical-align: middle;
  margin-left: 30px;
}

h2.h2-c {
  font-size: 150%;
  border-bottom: 1px dotted #cccccc;
  padding: 0 10px 10px;
}

h3.h3-a {
  background: transparent;
  color: #000000;
  border-left: none;
  border-bottom: 1px solid  #cccccc;
  padding-left: 0.5em;/*左の余白*/
}

h3.h3-b {
  color: #494949;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #6495ED;/*左線*/
  padding-left: 0.5em;/*左の余白*/
}

h3.h3-c {
  color: #494949;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #6495ED;/*左線*/
  border-bottom: 1px solid  #cccccc;
  padding-left: 0.5em;/*左の余白*/
}

h3.title {
  margin-top: 30px;
  margin-bottom: 10px;
}

ul.li-a {
  list-style: square inside;
  margin: 1em 0.5em;
}

ul.li-a li {
  margin-bottom: 0.5em;
}

ul.li-b {
  list-style: disc inside;
  margin: 1em 0.5em;
}

ul.li-b li {
  margin-bottom: 0.5em;
}

ol.li-a {
  list-style: decimal inside;
  margin: 1em 0.5em;
}

ol.li-a li {
  margin-bottom: 0.5em;
}

ol.li-b {
  list-style: lower-alpha inside;
  margin: 1em 0.5em;
}

ol.li-b li {
  margin-bottom: 0.5em;
}

.page {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  width: 90%;
  margin: 30px auto;
}

.page a {
  display: block;
  padding: 3px 10px;
}

.imagebox {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

.imagebox.tame {
  margin-bottom: 800px;
}

.book {
  display: -webkit-box;
  display: flex;
  width: 80%;
  max-width: 800px;
  margin: 80px auto;
}

.book:nth-child(2n+1) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
          flex-direction: row-reverse;
}

.book .book__image {
  margin: 0 20px;
  -webkit-box-flex: 0;
          flex: 0 0 40%;
}

.book .book__discription h4 {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .book {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
  }
  .book:nth-child(2n+1) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
  }
  .book:not(:last-of-type) {
    border-bottom: 1px solid #cccccc;
    padding-bottom: 60px;
  }
  .book .book__image {
    margin: 0 auto 20px;
    max-width: 300px;
  }
}

dl.book-01 {
  margin: 20px 0;
}

dl.book-01 dt {
  width: 100px;
  font-weight: 600;
  margin-bottom: 10px;
}

dl.book-01 dd {
  width: calc(100% - 100px);
  margin: 0;
  margin-bottom: 10px;
}

span.pink {
  color: #fa3c72;
}

blockquote {
  background: #ededed;
  padding: 20px 30px;
  margin: 20px;
  font-size: 15px;
  font-style: italic;
}

@media screen and (max-width: 767px) {
  .only-pc {
    display: none;
  }
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	font-weight: bold;		/*太字に*/
	padding: 10px 5px;		/*上下、左右へのボックス内の余白。基本的に数行下の「.ta1 th, .ta1 td」のpaddingと揃えておけばOKです。*/
	background: #eee;		/*背景色*/
	margin-bottom: 15px;	/*下に空けるスペース*/
}

/*ta1テーブルブロック設定*/
.ta1 {
	border-top: 1px solid #ccc;	/*テーブルの一番上の線。幅、線種、色*/
	width: 100%;
	margin: 0 auto 30px;		/*最後の「30px」がテーブルの下に空けるスペースです*/
}

/*tr（１行分）タグ設定*/
.ta1 tr {
	border-bottom: 1px solid #ccc;	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 10px 5px;		/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
	border-bottom: 1px solid #ccc;	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 30%;			/*幅*/
	text-align: left;	/*左よせにする*/
}

.ta1 td {
	text-align: left;	/*左よせにする*/
}

@media screen and (min-width: 991px) {
	/*テーブル
	---------------------------------------------------------------------------*/
	/*テーブル１行目に入った見出し部分（※caption）*/
	.ta1 caption {
		padding: 5px 15px;		/*上下、左右へのボックス内の余白*/
	}

	/*th（左側）、td（右側）の共通設定*/
	.ta1 th, .ta1 td {
		padding: 20px 15px;		/*上下、左右へのボックス内の余白*/
	}

	/*th（左側）のみの設定*/
	.ta1 th {
		width: 20%;		/*幅*/
	}
}

/*テーブル 線囲い
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta2 caption {
	font-weight: bold;		/*太字に*/
	padding: 10px 5px;		/*上下、左右へのボックス内の余白。基本的に数行下の「.ta2 th, .ta2 td」のpaddingと揃えておけばOKです。*/
	background: #555;		/*背景色*/
	margin-bottom: 15px;	/*下に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
	color: #fff;			/*文字色*/
}

/*ta2テーブルブロック設定*/
.ta2 {
	width: 100%;
	margin: 0 auto 30px;		/*最後の「30px」がテーブルの下に空けるスペースです*/
}

.ta2, .ta2 td, .ta2 th {
	word-break: break-all;
	border: 1px solid #666;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px;			/*ボックス内の余白*/
}

/*th（左側）のみの設定*/
.ta2 th {
	width: 30%;				/*幅*/
	text-align: left;		/*左よせにする*/
	background: #f7f7f7;	/*背景色*/
}

/*画面幅900px以上の追加指定*/
@media screen and (min-width:650px) {

	/*テーブル１行目に入った見出し部分（※caption）*/
	.ta2 caption {
		padding: 5px 15px;		/*上下、左右へのボックス内の余白*/
	}

	/*th（左側）、td（右側）の共通設定*/
	.ta2 th, .ta2 td {
		padding: 20px 15px;		/*上下、左右へのボックス内の余白*/
	}

	/*th（左側）のみの設定*/
	.ta2 th {
		width: 20%;		/*幅*/
	}

}

/*テーブル 携帯は１列
---------------------------------------------------------------------------*/
/*ta3テーブルブロック設定*/
.ta3 {
	border-collapse: collapse;
	border: 1px solid #ccc;
	width: 100%;
	margin: 0 auto 50px;		/*最後の「30px」がテーブルの下に空けるスペースです*/
}
.ta3 th {
	background: #6495ED;
	border: solid 1px #ccc;
	color: #fff;
	padding: 10px;
}
.ta3 td {
	border: solid 1px #ccc;
	padding: 10px;
}
 
@media screen and (max-width: 650px) {
	.last td:last-child {
		border-bottom: solid 1px #ccc;
		width: 100%;
	}
	.ta3 {
		width: 100%;
	}
	.ta3 th,
	.ta3 td {
		border-bottom: none;
		display: block;
		width: 100%;
	}
}

/*テーブル 携帯は2列
---------------------------------------------------------------------------*/
/*ta4テーブルブロック設定*/
.ta4 {
	border-collapse: collapse;
	border: 1px solid #ccc;
	width: 100%;
	margin: 0 auto 50px;		/*最後の「30px」がテーブルの下に空けるスペースです*/
}
.ta4 th {
	background: #6495ED;
	border: solid 1px #ccc;
	color: #fff;
	padding: 10px;
}
.ta4 td {
	border: solid 1px #ccc;
	text-align: right;
	padding: 10px;
}

.ta4 td:first-child {
	background: #D7EEFF;
}

@media screen and (max-width: 650px) {
	.ta4 {
		width: 100%;
	}
	.ta4 .thead {
		display: none;
	}
	.ta4 tr {
		width: 100%;
	}
	.ta4 td {
		display: block;
		text-align: right;
		width: 100%;
	}
	.ta4 td:first-child {
		background: #6495ED;
		color: #fff;
		font-weight: bold;
		text-align: center;
	}
	.ta4 td:before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
		margin-right: 10px;
	}
}

/*iframeタグ*/

.iframe-wrapper {
position:relative;
width:100%;
height:0;
padding-top:99%;
}
.iframe-wrapper iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}

.iframe-place {
position:relative;
width:100%;
height:0;
margin: 0 auto;
padding-top:75%;
}
.iframe-place iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:75%;
}

@media screen and (min-width: 991px) {
	/*iframeタグ*/
	.iframe-place {
		width:800px;
	}

}


/*ボタン*/
.button-2 {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 250px;
    height: 60px;
    margin:0 auto;
    padding: .9em 2em;
    border: none;
    border-radius: 5px;
    background-color: #000000;
    color: #fff;
/*    font-weight: 600;*/
    font-size: 20px;
}

.button-2:hover {
    background-color: #000000;
}

/*エラー表示
---------------------------------------------------------------------------*/
#Error {
	color: red;
	font-size: 16px;
	line-height: 1.2;
}
.error {
	color: red;
	font-size: 12px;
	line-height: 1.0;
	padding-top: 2px;
}


/* ------------------------------------------
  その他
------------------------------------------ */
.c {text-align: center !important;}
.r {text-align: right !important;}
.l {text-align: left !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.clearboth {display: block;clear: both;}

.mt0  {margin-top:  0px !important;}
.mt5  {margin-top:  5px !important;}
.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mt60 {margin-top: 60px !important;}
.mt70 {margin-top: 70px !important;}
.mt80 {margin-top: 80px !important;}
.mt90 {margin-top: 90px !important;}
.mt100 {margin-top: 100px !important;}

.mb0  {margin-bottom:  0px !important;}
.mb5  {margin-bottom:  5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb60 {margin-bottom: 60px !important;}
.mb70 {margin-bottom: 70px !important;}
.mb80 {margin-bottom: 80px !important;}
.mb90 {margin-bottom: 90px !important;}
.mb100 {margin-bottom: 100px !important;}

.ml0  {margin-left:  0px !important;}
.ml5  {margin-left:  5px !important;}
.ml10 {margin-left: 10px !important;}
.ml20 {margin-left: 20px !important;}
.ml30 {margin-left: 30px !important;}
.ml40 {margin-left: 40px !important;}
.ml50 {margin-left: 50px !important;}

.ml1em  {margin-left: 1em !important;}
.ml2em  {margin-left: 2em !important;}
.ml3em  {margin-left: 3em !important;}
.ml4em  {margin-left: 4em !important;}
.ml5em  {margin-left: 5em !important;}
.ml6em  {margin-left: 6em !important;}
.ml7em  {margin-left: 7em !important;}
.ml8em  {margin-left: 8em !important;}
.ml9em  {margin-left: 9em !important;}
.ml10em {margin-left: 10em !important;}

.mr0  {margin-right:  0px !important;}
.mr5  {margin-right:  5px !important;}
.mr10 {margin-right: 10px !important;}
.mr20 {margin-right: 20px !important;}
.mr30 {margin-right: 30px !important;}
.mr40 {margin-right: 40px !important;}
.mr50 {margin-right: 50px !important;}

.pt0  {padding-top:  0px !important;}
.pt5  {padding-top:  5px !important;}
.pt10 {padding-top: 10px !important;}
.pt20 {padding-top: 20px !important;}
.pt30 {padding-top: 30px !important;}
.pt40 {padding-top: 40px !important;}
.pt50 {padding-top: 50px !important;}
.pt60 {padding-top: 60px !important;}
.pt70 {padding-top: 70px !important;}
.pt80 {padding-top: 80px !important;}
.pt90 {padding-top: 90px !important;}
.pt100 {padding-top: 100px !important;}

.pb0  {padding-bottom:  0px !important;}
.pb5  {padding-bottom:  5px !important;}
.pb10 {padding-bottom: 10px !important;}
.pb20 {padding-bottom: 20px !important;}
.pb30 {padding-bottom: 30px !important;}
.pb40 {padding-bottom: 40px !important;}
.pb50 {padding-bottom: 50px !important;}
.pb60 {padding-bottom: 60px !important;}
.pb70 {padding-bottom: 70px !important;}
.pb80 {padding-bottom: 80px !important;}
.pb90 {padding-bottom: 90px !important;}
.pb100 {padding-bottom: 100px !important;}

.pl0  {padding-left:  0px !important;}
.pl5  {padding-left:  5px !important;}
.pl10 {padding-left: 10px !important;}
.pl20 {padding-left: 20px !important;}
.pl30 {padding-left: 30px !important;}
.pl40 {padding-left: 40px !important;}
.pl50 {padding-left: 50px !important;}

.pl1em  {padding-left: 1em !important;}
.pl2em  {padding-left: 2em !important;}
.pl3em  {padding-left: 3em !important;}
.pl4em  {padding-left: 4em !important;}
.pl5em  {padding-left: 5em !important;}
.pl6em  {padding-left: 6em !important;}
.pl7em  {padding-left: 7em !important;}
.pl8em  {padding-left: 8em !important;}
.pl9em  {padding-left: 9em !important;}
.pl10em {padding-left: 10em !important;}

.pr0  {padding-right:  0px !important;}
.pr5  {padding-right:  5px !important;}
.pr10 {padding-right: 10px !important;}
.pr20 {padding-right: 20px !important;}
.pr30 {padding-right: 30px !important;}
.pr40 {padding-right: 40px !important;}
.pr50 {padding-right: 50px !important;}

.black   {color: #000000 !important;}
.gray    {color: #808080 !important;}
.silver  {color: #c0c0c0 !important;}
.white   {color: #ffffff !important;}
.blue    {color: #0000ff !important;}
.navy    {color: #000080 !important;}
.teal    {color: #008080 !important;}
.green   {color: #008000 !important;}
.lime    {color: #00ff00 !important;}
.aqua    {color: #00ffff !important;}
.yellow  {color: #ffff00 !important;}
.red     {color: #ff0000 !important;}
.fuchsia {color: #ff00ff !important;}
.olive   {color: #808000 !important;}
.purple  {color: #800080 !important;}
.maroon  {color: #800000 !important;}

.bg_black   {background: #000000 !important;}
.bg_gray    {background: #808080 !important;}
.bg_silver  {background: #c0c0c0 !important;}
.bg_white   {background: #ffffff !important;}
.bg_blue    {background: #0000ff !important;}
.bg_navy    {background: #000080 !important;}
.bg_teal    {background: #008080 !important;}
.bg_green   {background: #008000 !important;}
.bg_lime    {background: #00ff00 !important;}
.bg_aqua    {background: #00ffff !important;}
.bg_yellow  {background: #ffff00 !important;}
.bg_red     {background: #ff0000 !important;}
.bg_fuchsia {background: #ff00ff !important;}
.bg_olive   {background: #808000 !important;}
.bg_purple  {background: #800080 !important;}
.bg_maroon  {background: #800000 !important;}

.ws10  {width:  10px;}
.ws20  {width:  20px;}
.ws30  {width:  30px;}
.ws40  {width:  40px;}
.ws50  {width:  50px;}
.ws60  {width:  60px;}
.ws70  {width:  70px;}
.ws80  {width:  80px;}
.ws90  {width:  90px;}
.ws100 {width: 100px;}
.ws125 {width: 125px;}
.ws150 {width: 150px;}
.ws175 {width: 175px;}
.ws200 {width: 200px;}

.ws40p {width:  40%;}
.ws45p {width:  45%;}
.ws50p {width:  50%;}

.ws45p5em {width: calc(90% - 5em);}
.ws45p100px {width: calc(90% - 100px);}

.fwn {font-weight: normal;}
.fwb {font-weight: bold;}
.fwl {font-weight: lighter;}

.rpc {display: block;}
.rsp {display: none;}

/*---------------------------------------------------------------------------
ここから下は画面幅767px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	.rpc {display: none;}
	.rsp {display: block;}
}

/*---------------------------------------------------------------------------
ここから下は画面幅600px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:991px) {

.sh {display: none;}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}
