@charset "utf-8";
@import url("keyframes.css");

/*---------------------------------------全体の設定---------------------------------------*/

html,body {
	font-size: 18px;	/*画面幅481px以上で閲覧した際の文字サイズ。ここを変更すると、他の文字サイズも連動します。※480px以下の指定箇所は下の方に別途あります。*/
}
body {
	margin: 0px;
	padding: 0px;
	color: #333;	/*全体の文字色*/
	font-family: "M PLUS Rounded 1c", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro", 
	"Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	line-height: 2;		/*行間*/
	-webkit-text-size-adjust: none;
	overflow-x: hidden;
}
/*--
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}---*/

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 1rem;font-weight: normal;}
a {text-decoration: none;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 1rem;border-spacing: 0;}
video {max-width: 100%;}
iframe {width: 100%;}

/*---------------------------------------個々の設定---------------------------------------*/

.box {
  max-width: 1350px;
  margin-left: auto;
  margin-right: auto;
  display:flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 40px;
}

.box p {
  width: 550px;
  font-size: 20px;
}
.box p0 {
  width: 500px;
  font-size: 17px;
}
.box p1 {
  width: 400px;
  font-size: 20px;
}

@media (max-width:768px) {
  .box {
    flex-direction: column;
  }}

.bkimg{
  width: 500px;
  margin-left: auto;
}

/*--------------------------------------- contents ---------------------------------------*/

#contents {
	padding: 150px 100px;	/*上下、左右へのコンテンツ内の余白*/
	position: relative;
	animation-name: opa1;		/*keyframes.cssで使う@keyframesの指定*/
	animation-duration: 0.5S;	/*アニメーションの実行時間*/
	animation-delay: 0.5s;		/*出現するタイミング（秒後）*/
	animation-fill-mode: both;
}
/*h2タグ*/
#contents h2 {
	clear: both;
	margin-bottom: 50px;	/*下に空けるスペース*/
	font-size: 2.25rem;		/*文字サイズ。冒頭で指定しているフォントサイズの2.25倍です。*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.1em;	/*文字間隔を少し広めにとる指定。通常がいいならこの１行削除。*/
}
/*h2タグ内のspanタグ（装飾文字）*/
#contents h2 span {
	display: inline-block;white-space: nowrap;
	font-size: 0.875rem;	/*文字サイズ。冒頭で指定しているフォントサイズの0.875倍です。*/
	border-top: 3px solid #a9d1ec;	/*上の線の幅、線種、色*/
	padding: 15px 20px 0;	/*上、左右、下への余白*/
}
/*h3タグ*/
#contents h3 {
	clear: both;
	margin-bottom: 30px;	/*下に空けるスペース*/
	font-size: 1.5rem;		/*文字サイズ。冒頭で指定しているフォントサイズの1.5倍です。*/
	border-bottom: 1px dashed #999;	/*下線の幅、線種、色*/
	padding-left: 3%;		/*左側に空ける余白*/
	letter-spacing: 0.1em;	/*文字間隔を少し広めにとる指定。通常がいいならこの１行削除。*/
}
/*h3タグ内のspanタグ（装飾文字）*/
#contents h3 span {
	display: inline-block;
	font-size: 0.875rem;	/*文字サイズ*/
	padding-left: 20px;
}
/*段落タグ*/
#contents p {
	padding: 0 3% 30px;	/*上、左右、下への余白*/
}
/*他、微調整*/
#contents h2 + p,
#contents h3 + p {
	margin-top: -5px;
}
#contents p + p {
	margin-top: -10px;
}
#contents section + section {
	margin-top: 100px;
}

h1 {
  text-align: center;
  font-size: 4rem;
  color: #fff;
  letter-spacing: .1em;
  text-shadow: 0 1px 0 #CCCCCC, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 10px 10px rgba(0,0,0,.2), 0 20px 20px rgba(0,0,0,.15);
}

/*--------------------------------------- header ---------------------------------------*/

.header,.header_main_container {
left: 0;
position: fixed;
top: 0;
transition: .6s;
width: 100%;
z-index: 1000;
}

.header_block {
	background: url(../images/back01.jpg);
	box-shadow: 0 1px 4px #60606027;
	height: 70px;
	position: relative;
}

.header_block2 {
  background: url(../images/back03.jpg);
  box-shadow: 0 1px 4px #60606027;
  height: 70px;
  position: relative;
}

.header_container {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: space-between;
	padding: 0 20px;
	position: relative;
}

.header_logo {
	display: block;
	width: 200px;	
}

.header-nav {
    align-items: center;
    display: flex;
    justify-content: flex-end;
}
  .header-nav-li {
    list-style: none;
    margin-right: 7px;
    margin-left: 7px;
}
  .header-nav-button{
     display: flex;
  height: 100%;
  flex-direction: column;
  border-style: none;
  background-color: initial;
  width: 100%;
}
  .header-nav-icon {
    width: 1rem;
}
  .header-nav-text {
    font-size: 0.8rem;
    line-height: 1.2;
}


/*--------------------------------------- menubar ---------------------------------------*/

#menubar {
  animation-name: opa2;   /*keyframes*/
  animation-duration: 0.5S;
  animation-fill-mode: both; /**/
  background: rgba(0,0,0,0.5);
  position: fixed;
  overflow: auto;
  z-index: 99;
  left: 0px;
  top: 0px;
  width: 100%; 
  height: 100%; 
  text-align: center;
}
#menubar a {
  text-decoration: none;
  color: rgb(230,230,230,1.0);
}
#menubar ul {
  margin-top: 80px;
}
#menubar li {
  font-size: 1.25rem;   
}
#menubar_hdr {
  display: block;
  z-index: 100;
  top: 70px;
  left: 3%;
}
#menubar_hdr.close,#menubar_hdr.open {
  width: 50px;  /*幅*/
  height: 50px; /*高さ*/
}
#menubar_hdr.close {
  background: url(../images/icon_menu.png) no-repeat center top/50px;
}
#menubar_hdr.open {
  background: url(../images/icon_menu.png) no-repeat center bottom/50px;
}

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

#contents {
  padding: 50px 0px;
}}

/*
body .nav-fix-pos-pagetop a {display: none;}
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
  display: block;text-decoration: none;text-align: center;
  width: 50px;    幅
  line-height: 50px;  /*高さ*
  z-index: 1;
  position: fixed;
  bottom: 20px; /*下から20pxの場所に配置*
  right: 3%;    /*右から3%の場所に配置*
  border: 1px solid #fff; /*枠線の幅、線種、色*
  animation-name: opa1; /*keyframes.cssで使う@keyframesの指定
  animation-duration: 1S; /*アニメーションの実行時間
  animation-fill-mode: both;  /*アニメーションの待機中は最初のキーフレームを維持、終了後は最後のキーフレームを維持。
}
/*マウスオン時
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
  background: #999; /*背景色
}*/

/*---------------------------------------------------------------------------*/

/*--------------------------------------- facebookやtwitterなどのアイコン ---------------------------------------*/

/*アイコン全体を囲むブロック*/
ul.icon {
	margin-bottom: 20px;
}
/*アイコン１個あたりの設定*/
ul.icon li {
	display: inline-block;	/*横並びにさせる指定*/
}
/*アイコン画像の設定*/
ul.icon img {
	width: 30px;		/*画像の幅*/
}
ul.icon img:hover {
	opacity: 0.8;		/*マウスオン時に透明度を80%にする。*/
}

/*--------------------------------------- new ---------------------------------------*/

#new dl {
  padding: 0px 3%;    /*上下、左右へのブロック内の余白*/
}
/*日付設定*/
#new dt {
  float: left;
  width: 9em;   /*幅*/
  letter-spacing: 0.1em;
}
/*記事設定*/
#new dd {
  padding-left: 9em;
}

.newicon {
  background: #F00; /*背景色*/
  color: #FFF;    /*文字色*/
  line-height: 1.5;
  padding: 2px 5px;
  border-radius: 2px;
  margin: 0px 5px;
  vertical-align: text-top;
}

/*--------------------------------------- footer ---------------------------------------*/

footer {
	clear: both;
	font-size: 0.75rem;	/*文字サイズ*/
	text-align: center;
	box-shadow: 0px 0px 50px #fff inset;	/*ボックスの影。insetは内側に向ける指定。*/
	padding: 3%;	/*余白*/
	background: url(../images/back01.jpg) no-repeat center center / cover;	/*背景画像の読み込み。*/
	color: #666;	/*文字色*/
}
footer small {font-size: 100%;}
footer a {text-decoration: none;color: #666 !important;}
footer .pr {display: block;}

/*PAGE TOP（↑）設定---------------------------------------------------------------------------*/

/*通常時のボタンは非表示*/
body .nav-fix-pos-pagetop a {display: none;}
/*fixmenu_pagetop.jsで設定している設定値になったら出現するボタンスタイル*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;text-decoration: none;text-align: center;
	width: 50px;		/*幅*/
	line-height: 50px;	/*高さ*/
	z-index: 1;
	position: fixed;
	bottom: 20px;	/*下から20pxの場所に配置*/
	right: 3%;		/*右から3%の場所に配置*/
	background: #666;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.6);	/*背景色。0,0,0は黒の事。0.6は60%色がついた状態。*/
	color: #fff;	/*文字色*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	animation-name: opa1;	/*keyframes.cssで使う@keyframesの指定*/
	animation-duration: 1S;	/*アニメーションの実行時間*/
	animation-fill-mode: both;	/*アニメーションの待機中は最初のキーフレームを維持、終了後は最後のキーフレームを維持。*/
}
/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #999;	/*背景色*/
}

/*-------------------------------------922--------------------------------------*/


ul.horizontal-list {
	overflow-x: auto;
	white-space: nowrap;
}
li.item {
	display: inline-block;
	width: 60%;
	font-size: 48px;
}	
li.item2 {
	display: inline-block;
	width: 36%;
	font-size: 48px;
}	
li.item3 {
	display: inline-block;
	padding: 0px 30px;
	width: 36%;
	font-size: 48px;
}	
li.item1r {
  display: inline-flex;
  width: 30%;
  font-size: 22px;
} 

/*------------------------------------- ribon --------------------------------------*/

h7 {
  line-height: 22px;
  position:absolute;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
  color: #fff;
  background: rgb(255,191,77);
background: linear-gradient(90deg, rgba(255,191,77,1) 0%, rgba(255,229,166,1) 27%, rgba(255,186,0,1) 99%);
}

h7:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 11px solid #ffba00;
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

h8 {
  line-height: 22px;
  position:absolute;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
   text-shadow:1px 1px 0 #c80, -1px -1px 0 #c80,
              -1px 1px 0 #c80, 1px -1px 0 #c80,
              0px 1px 0 #c80,  0-1px 0 #c80,
              -1px 0 0 #c80, 1px 0 0 #c80;
  color: #fff;
background: rgb(255,211,124);
background: linear-gradient(90deg, rgba(255,211,124,1) 0%, rgba(251,238,205,1) 27%, rgba(255,231,151,1) 99%);
}

h8:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 11px solid #ffe797;
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

h9 {
  line-height: 22px;
  position:absolute;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
   text-shadow:1px 1px 0 #667, -1px -1px 0 #667,
              -1px 1px 0 #667, 1px -1px 0 #667,
              0px 1px 0 #667,  0-1px 0 #667,
              -1px 0 0 #667, 1px 0 0 #667;
  color: #fff;
  background: rgb(131,58,180);
background: linear-gradient(90deg, rgba(86,126,241,1) 2%, rgba(253,29,29,1) 50%, rgba(251,226,83,1) 89%);
}

h9:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 11px solid #fbe253;
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

h10 {
  line-height: 22px;
  position:absolute;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
   text-shadow:1px 1px 0 #667, -1px -1px 0 #667,
              -1px 1px 0 #667, 1px -1px 0 #667,
              0px 1px 0 #667,  0-1px 0 #667,
              -1px 0 0 #667, 1px 0 0 #667;
  color: #fff;
background: linear-gradient(180deg, #e6a8ff 0%, #e6a8ff 50%, #d160ff 50%, #d160ff 100%);
}

h10:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 11px solid #e6a8ff ;
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

h11 {
  line-height: 22px;
  position:absolute;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
   text-shadow:1px 1px 0 #667, -1px -1px 0 #667,
              -1px 1px 0 #667, 1px -1px 0 #667,
              0px 1px 0 #667,  0-1px 0 #667,
              -1px 0 0 #667, 1px 0 0 #667;
  color: #fff;
  background-color: transparent;
  background-image: linear-gradient(45deg, #a6a6a6 25%, transparent 25%, transparent 75%, #a6a6a6 75%, #a6a6a6),
    linear-gradient(-45deg, #a6a6a6 25%, transparent 25%, transparent 75%, #a6a6a6 75%, #a6a6a6);
background-size: 22px 22px;
}

h11:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 11px solid #a6a6a6 ;
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

h12 {
  line-height: 22px;
  position:absolute;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
   text-shadow:1px 1px 0 #667, -1px -1px 0 #667,
              -1px 1px 0 #667, 1px -1px 0 #667,
              0px 1px 0 #667,  0-1px 0 #667,
              -1px 0 0 #667, 1px 0 0 #667;
  color: #fff;
  background: rgb(223,255,127);
background: linear-gradient(90deg, rgba(223,255,127,1) 0%, rgba(72,177,55,1) 100%);
}

h12:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 11px solid #48b137;
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

h13 {
  line-height: 22px;
  position:absolute;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
   text-shadow:1px 1px 0 #667, -1px -1px 0 #667,
              -1px 1px 0 #667, 1px -1px 0 #667,
              0px 1px 0 #667,  0-1px 0 #667,
              -1px 0 0 #667, 1px 0 0 #667;
  color: #fff;
background: rgb(63,210,251);
background: radial-gradient(circle, rgba(63,210,251,1) 0%, rgba(70,165,252,1) 100%);
}

h13:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 11px solid #46a5fc;
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

h14 {
  line-height: 22px;
  position:absolute;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
   text-shadow:1px 1px 0 #667, -1px -1px 0 #667,
              -1px 1px 0 #667, 1px -1px 0 #667,
              0px 1px 0 #667,  0-1px 0 #667,
              -1px 0 0 #667, 1px 0 0 #667;
  color: #fff;
background: rgb(255,202,252);
background: linear-gradient(90deg, rgba(255,202,252,1) 0%, rgba(251,251,224,1) 60%, rgba(250,190,246,1) 100%);
}

h14:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 11px solid #fabef6;
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

h15 {
  line-height: 22px;
  position:absolute;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
   text-shadow:1px 1px 0 #667, -1px -1px 0 #667,
              -1px 1px 0 #667, 1px -1px 0 #667,
              0px 1px 0 #667,  0-1px 0 #667,
              -1px 0 0 #667, 1px 0 0 #667;
  color: #fff;
background: rgb(220,127,255);
background: linear-gradient(90deg, rgba(220,127,255,1) 0%, rgba(166,63,172,1) 100%);
}

h15:after {
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  display: block;
  content: '';
  border: 11px solid #a63fac;
  border-right-color: transparent;
  width: 0;
}

h900 {
  line-height: 22px;
  position:absolute;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
   text-shadow:1px 1px 0 #667, -1px -1px 0 #667,
              -1px 1px 0 #667, 1px -1px 0 #667,
              0px 1px 0 #667,  0-1px 0 #667,
              -1px 0 0 #667, 1px 0 0 #667;
  color: #fff;

background: rgb(220,127,255);
background: linear-gradient(90deg, rgba(220,127,255,1) 0%, rgba(166,63,172,1) 100%);
}

h900:after {
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  display: block;
  content: '';
  border: 11px solid #a63fac;
  border-right-color: transparent;
  width: 0;
}/*-----*/

h1r {
  line-height: 22px;
  position:relative;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:18px;
  text-align: center;
  color: #fff;
  background: rgb(255,191,77);
background: linear-gradient(90deg, rgba(255,191,77,1) 0%, rgba(255,229,166,1) 27%, rgba(255,186,0,1) 99%);
}

h1r:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 0.5em solid #ffba00;
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

h2r {
  line-height: 22px;
  position:relative;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:22px;
  text-align: center;
  color: #fff;
  background: rgb(220,127,255);
background: linear-gradient(90deg, rgba(220,127,255,1) 0%, rgba(166,63,172,1) 100%);
}

h2r:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 0.5em solid #a63fac;
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

h3r {
  line-height: 22px;
  position:relative;
  margin: 0.2em 10px 0.2em;
  padding: 0 0.7rem;
  font-size:22px;
  text-align: center;
  color: #fff;
  background: rgb(90,90,90);
}

h3r:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  border: 0.5em solid rgb(90,90,90);
  right: -20px;
  border-right-width: 15px;
  border-right-color: transparent;
}

/*--------------------------------------- slick ---------------------------------------*/

.slick01 .slick-slide {
  margin: 0 10px;
  position: relative;
  overflow: hidden;
}
.slick01 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slick01 .slick-arrow {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 180px;
  z-index: 1;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.slick01 .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #09000d;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 24px;
  transform: rotate(45deg);
}
.slick01 .slick-next {
  right: 0;
}
.slick01 .slick-prev {
  left: 0;
}

.slick02 .slick-slide {
  margin: 0 10px;
  position: relative;
  overflow: hidden;
}
.slick02 .slick-arrow {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 180px;
  z-index: 1;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.slick02 .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #09000d;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 24px;
  transform: rotate(45deg);
}
.slick02 .slick-next {
  right: 0;
}
.slick02 .slick-prev {
  left: 0;

.slick01 .slick-next::before {
  left: 20px;
}
.slick01 .slick-prev::before {
  border-width: 0 0 3px 3px;
  right: 22px;
}
.slick0001 .slick-dots {
  text-align: center;
}
.slick0001 .slick-dots li {
  display: inline-block;
}
.slick0001 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #bcbcbc;
  border-radius: 50%;
}
.slick0001 .slick-dots .slick-active button {
  background: #0a467d;
}