@charset "utf-8";


@media screen and (min-width: 768px) {	html {	font-size: 14px; }}
html * { box-sizing: border-box; }
body {
	margin: 0;
	background: url(../images/bg.png);
	font-family: sans-serif;
        width:100%;
}

h1 {
  font-family: 'Bitter', serif;
  font-size: 30px;
  padding:30px 0 30px 0;
  min-width:250px;
  text-align:center;
}

/*ブラウザの大きさで実行したりしなかったり*/
@media only screen and (max-width:900px){.br-sp {display:none;}}
@media only screen and (min-width:900px){.unbr-sp {display:none;}}
/*ブラウザの大きさで実行したりしなかったり終*/




h2 {
  font-family: 'Bitter', serif;
  font-size: 25px;
  text-align:right;
}

h3{
  font-family: 'Bitter', serif;
  font-size: 35px;
}

h4{
  padding:3px;
  border-bottom: 4px solid #2097b6;
  border-left:0px solid #2097b6;
  margin: 0.5vw;
  color:#209700;
  font-family: 'cursive', cursive;
  font-size: 40px;
  font-color:#111111;
}

h5{
  font-size: 20px;
  margin: 1vw;
  color:#209700;
}

h6{
  font-size: 150px;
  margin: 1vw;
}

p{
  margin: 0;
  color:#000000;
}

.box5 p{
  margin: 0.5vw 0 0 3vw;
}

.hidari3vw{ margin: 0 0 0 3vw; }
.kaigyo{ word-break: keep-all; }
.migisoroe{
  margin: 0 10px 0 0;
  text-align:right;
}

.nakasoroe{ text-align:center;}

.hidarisoroe{ text-align:left;}



.iro1{ color: red; }
.iro2{ color: blue; }
.iro3{ color: #75cb60;}
.iro4{ color: black;}

img.hidari{float:left;}
img.migi{float:right;}

/*見出し系*/
.mozikazari1 {
  padding: 1rem 2rem;
  margin: 0 auto;
  max-width:1000px;
  min-width:200px;
  color: #fff;
  background: #094;
  -webkit-box-shadow: 5px 5px 0 #007032;
  box-shadow: 5px 5px 0 #007032;
}


.mozikazari2 {
  padding: 0.5em 0.5em;/*上下の余白*/
  border-top: solid 3px #0000ff;/*上線*/
  border-bottom: solid 3px #0000ff;/*下線*/
}
/*見出し系終わり*/
/*文字飾り*/
@keyframes typing { from { width: 0; } }
@keyframes caret { 100% { border-color: transparent; } }

.mozisousyoku1 {
font-family: monospace; 
width: 100%;
border-right: .08em solid;
overflow: hidden;
font-size: 2em;
white-space: nowrap;
animation: typing 2s steps(11, end), caret .2s step-end infinite;
}

/*文字飾り　赤字の白シャドー*/
.style01 {
	display: inline-block;		/* インライン要素：横並び配置、ブロック要素：幅や高さ・余白の指定可 */
	position: relative;
	color: rgba(0,0,0,0);		/* 透明 */
	top:0;
	left: 0;
}
.style01 span:nth-of-type(1){
	position: absolute;
	color: #999;				/* グレー */
	top: 0;
	left: 0;
	-webkit-text-stroke-width: 10px;
	z-index: 10;
}
.style01 span:nth-of-type(2){
	position: absolute;
	color: #333;				/* 黒 */
	top: 0;
	left: 0;
	-webkit-text-stroke-width: 8px;
	z-index: 20;
}
.style01 span:nth-of-type(3){
	position: absolute;
	color: #FFF;				/* 白 */
	top: 0;
	left: 0;
	-webkit-text-stroke-width: 6px;
	z-index: 30;
}
.style01 span:nth-of-type(4){
	position: absolute;
	color: #F00;				/* 赤 */
	top: 0;
	left: 0;
	-webkit-text-stroke-width: 1px;
	z-index: 40;
}
.style01 span:nth-of-type(5){
	position: absolute;
	color: #F00;				/* 赤 */
	margin: 0;
	-webkit-background-clip: text;
	-webkit-text-stroke: 0px ;
	top: 0;
	left: 0;
	z-index: 50;
}
.fontStyle01{
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	font-size: 30px;
	color: rgba(0,0,0,0);		/* 透明 */
}
@media only screen and (max-width:900px){.fontStyle01{ font-size: 20px;}}
/*文字飾り　赤字の白シャドー　終わり*/

/*文字飾り終わり*/


/*==================================================
ふわっ
===================================*/
/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeInAnime{
  from { opacity: 0;}
  to { opacity: 1; }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeUpAnime{
  from {
   opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

.flex{
  display:flex;
  flex-wrap: wrap;
}

/*==================================================
ふわっ修了
===================================*/

/*==================================================
スクロールがトリガー
===================================*/

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUpTrigger{ opacity: 0; }

/*==================================================
スクロールがトリガー修了
===================================*/

.clearright { clear: right; }/*回り込み解除*/
.clearLeft { clear: left; }/*回り込み解除*/


/*==============================================
ポップアップ
===============================*/

.works_item {
    list-style: none;
    position: relative;
    width: 140px;
    height:140px; 
    border-radius: 2px;
    margin: 20px;
}
.works_modal_open {
    height: 140px;
    text-align: center;
    background: #666;
    filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.6));
}
.works_image_mask {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.8);
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
    cursor: pointer;
}
.mask_text {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: #fff;
}
.works_modal_content{
    text-align: left;
}
.works_image:hover .works_image_mask {
    opacity: 1;
    padding-top: 13%;
}
/* ------works_modal css------ */
.works_modal_wrapper {
    position: fixed;
    display: flex;
    align-items: center;
    width: 100vw;
    height: 100vw;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: none;
    opacity: 0;
    z-index: -1;
}

@media only screen and (max-width:900px){
  .works_modal_window {
      width:250px;
      max-height: 900px;
      margin: auto;
      padding: 15px 0 15px 0;
      background: #fff;
      z-index: 1;
      overflow-y: hidden;
  }
}



@media only screen and (min-width:900px){
  .works_modal_window {
      max-width: 900px;
      max-height: 900px;
      margin: auto;
      padding: 0 0 15px 0;
      background: #fff;
      z-index: 1;
      overflow-y: hidden;
  }
}




.works_modal_content {
    margin: 0 auto;
    width: 95%;
    height: 80%;
}
.works_modal_mask {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
}
.works_modal_close {
    z-index: 300;
    position: absolute;
    top: -10px;
    right: 5px;
    color: #808080;
    font-size: 2rem;
    cursor: pointer;
}
.works_modal_close:hover {
    color: #000;
    transition: all .5s;
}
html.is_open, body.is_open {
    overflow: hidden;
}
.works_modal_wrapper.is_open {
    animation: works_modal_wrapper_open .5s ease forwards;
}
.works_modal_wrapper.is_open .works_modal_window {
    animation: works_modal_window_open .5s ease forwards;
}
.works_modal_wrapper.is_close {
    animation: works_modal_wrapper_close .5s ease forwards;
}
.works_modal_wrapper.is_close .works_modal_window {
    animation: works_modal_window_close .5s ease forwards;
}

@keyframes works_modal_wrapper_open {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
      z-index: 300;
    }
  }
  @keyframes works_modal_window_open {
    0% {
      opacity: 0;
      transform: translateY(-30px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes works_modal_wrapper_close {
    0% {
      z-index: 300;
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes works_modal_window_close {
    0% {
      opacity: 1;
      transform: translateY(0);
    }
    100% {
      transform: translateY(-30px);
      opacity: 0;
    }
  }

.works_modal_content img{ margin: 0 15px 0 0; }
/*==============================================
ポップアップ修了
===============================*/




/* ヘッダー */
header {
	background: url(../images/930.jpg);
        background-repeat: no-repeat;
        background-position: center top;
        background-size:100%;
        min-width:100%;
}
.header-container {
	padding: 4vw 20px 5vw 20px;
}
.header-logo {
  list-style: none;
  font-size: 4vw;
  font-weight:900;
  font-family: 'Bitter', serif;
  color       : #ffffff;
  text-shadow:  2px  2px 10px #777 ,
               -2px  2px 10px #777 ,
                2px -2px 10px #777 ,
               -2px -2px 10px #777;
}

.header-logo img {
  position: absolute;
  margin: 1px 0 0 0;
  width: 7vw;
  height: 6vw;
}

@media all and (-ms-high-contrast:none){
      *::-ms-backdrop, .header-logo img { position: absolute;
                                          margin: -10px 0 0 0;
                                        }
}

@supports (-ms-ime-align:auto) {
       .header-logo img { position: absolute;
                          margin: -10px 0 0 0;
                        }
}


/* ナビゲーション */
nav {
	font-size: 0.78rem;
        font-weight: 200;
	background: linear-gradient(-60deg, #ffff00, #7fffd4);
        min-width:300px;
}

.nav-container { padding: 0 20px 0 10%; }

@media screen and (min-width: 768px) {
	nav {
		font-size: 1.5rem;
                font-weight: 600;
                min-width:700px;
	}
       .nav-container { padding: 0 20px 0 70px; }
       .unbr-sp {display:none;}
}
.globalnav {
	overflow: hidden;
	margin: 0;
	padding: 0;
	list-style: none;
}
.globalnav li {
	float: left;
	width: 15.5%;
}
.globalnav li a {
	display: block;
	padding: 10px 0;
	border-bottom: 8px solid #ffffff;
	text-decoration: none;
	text-align: center;
	line-height: 100%;
	color: #483d8b;
}
.globalnav li a:hover,
.globalnav li a.current {
	border-bottom: 8px solid #7bae34;
	color: #ff0000;
}

/* フッター */
footer { }
.footer-container {
	padding: 20px;
	background: #000000;
}
.copyright {
	margin: 0;
	font-size: 0.8rem;
	color: #ffffff;
}
/* メインコンテンツレイアウト部分 */
main { }
.main-container {
	padding: 0px 0 0 0;
	background: url(../images/ht-bg-pattern.png);
}

.maincol {
	margin: 0;
	padding: 0px 0 30px 0;
}
@media screen and (min-width: 900px) {
	.main-container {
		overflow: hidden;
	}
	.maincol {
		float: center;
		margin: 0;
		width: 96% auto;
	}

}


@media screen and (min-width: 768px) {
	.column1 h1 { font-size: 2rem; }
	.sub-nav li { padding: 2px; }
}

.taitol img{
    margin: 0;
    width: 100%;

}

/*ふわっと用ボックス*/
.box1{
  width: 140px;
  height:140px; 
  margin:0 20px 20px 20px;
  background: #666;
  color: #fff;
  filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.6));
}
.ookisa2{
    width: 100%;
}

.box1:hover{
	filter: brightness(200%);
	transform: scale(1.25);
}

/*ふわっと用ボックス修了*/


.box5 {
    padding: 35px 35px 35px 35px;
    margin: auto;
    max-width:1000px;
    min-width:200px;
    color: #232323;
    background: #ffffff;
    font-size: 20px;
    border-radius: 10px;/*角の丸み*/
    justify-content:center;
    box-shadow:0px 3px 10px 2px rgba(0,0,0,0.3);
    overflow: hidden;
}

.imgookisa1{
    width: 30%;
    margin: 0px 0px 0px 0px;
}


.clear { clear:both; } 　/*floatの解除*/


/*パンくずリスト*/
.breadcrumb {
  margin: 10px 0 -50px 30px;
  padding: 0;
  list-style: none;
}

.breadcrumb li {
  display: inline;/*横に並ぶように*/
  list-style: none;
  font-weight: bold;/*太字*/
  font-size: 12px
}

.breadcrumb li:after {/* >を表示*/
  content: '>';
  padding: 0 0.2em;
  color: #555;
}

.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a {
  text-decoration: none;
  color: #52b5ee;/*色*/
}

.breadcrumb li a:hover {
  text-decoration: underline;
}
/*パンくずリスト終*/


@media all and (-ms-high-contrast:none){ *::-ms-backdrop, .event-contents li { flex: 0 0 19.1vw; }}

@supports (-ms-ime-align:auto) { .event-contents li { flex: 0 0 21vw; }}

@media screen and (max-width: 800px) {
  h5{ font-size: 18px; }
  p{ font-size: 16px; }
  .kagetoiro4{ padding:0 0 0 10px; }

 
  .hyodai1 { width: 90%; }
  .hyodai1 { width: 100%; }
  .tategaki{
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    text-align: left;
  }
  .tategaki span{ text-combine-upright: all; }
  .saizu{
    font-size: 20px;
    color:#000000;
  }


