/**************************************************/
/************** CSSで横並びレイアウト **************/
/**************** https://www.sejuku.net/blog/52822 **********************************/
.parent {
    text-align: center;         /* 子要素を左右中央揃えにする */
    border: solid 1px;          /* 枠線指定 */
    padding:  10px;             /* 余白指定 */
}

.inline-block_test {
    display: inline-block;      /* インラインブロック要素にする */
    background-color:  #fff;    /* 背景色指定 */
    padding:  10px;             /* 余白指定 */
    height: 100px;              /* 高さ指定 */
}
/*******************************************************************/
body{
font-family:'メイリオ','ＭＳ Ｐゴシック',sans-serif;
font-size:16px;
letter-spacing:-1px;
padding:20px;
color:#333;
width: 960px;
margin-top:20px;
margin-right:auto;
margin-left:auto;
line-height:1.4;
}
h2{
	padding: 5px 5px 5px 20px;
	border-radius: 4px;
	border: 3px solid #e7a50a;
	background-color: #ffffff;
	color: #06b11d;
	margin-top:10px;
	font-size:22px;
}
body {background: #9cf;}
block {
    padding: 20px;
    background: #fff;
    border: 4px #14d7e5 solid;
    position: relative;
    z-index: 10;
}
/*---------CSSレイアウトデザインサンプル---------------*/
/*------------------------*/
/*------------------------*/
.xhead
	{
	width:960px;
	background-color: #F2F2F2;
	margin:0 auto 10px auto;
	border: 1px solid #FFCC00;
	padding: 10px;
		font-size: 23px;
	font-weight: bold;
	color: #CC6633;
	}

.xouter
	{
	width:960px;
	background-color: #F2F2F2;
	margin:0 auto 10px auto;
	border: 1px solid #FFCC00;
	padding: 20px;
	}

.xmenu
	{
	width:960px;
	float:left;
	padding: 5px;
	background-color: #e0e6dc;
	margin-top: 5px;
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 600%;
	border: 2px solid #17e4b7;
	}

.main
	{
	width:960px;
	float:right;
	padding: 5px;
	background-color: #31a9e6;
	margin-top: 10px;
	margin-bottom: 10px;
	border: 1px solid #00CCFF;
	font-size: 10px;
	line-height: 300%;
	}
.clears{
  clear:both;
}

.xfoot
	{
	padding: 5px;
	background-color: #FFE2B2;
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 15px;
	line-height: 300%;
	border: 1px solid #FFA000;
	}
/*------------------------*/
/***gallery-container**ok*/
/*-----------------------*/
.gallery-container {
  width: 860px;
  margin-left: auto;
  margin-right: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns:(1fr)[4];
  grid-template-columns: repeat(4, 1fr);
  grid-gap: .5em
}

.gallery-img {
  display: block;
  max-width: 100%;
  cursor: pointer
}

.lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.8);
  display: -ms-flexbox;
  display: flex;
  z-index: 1
}

.lightbox-container {
  position: relative;
  margin: auto;
  background: #fff;
  padding: 1em;
  border-radius: .2em
}

.close-modal {
  background: tomato;
  color: #fff;
  position: absolute;
  width: 1.8em;
  height: 1.8em;
  text-align: center;
  line-height: 1.8em;
  top: -.9em;
  right: -.9em;
  border-radius: 50%;
  cursor: pointer
}

.lightbox-description {
  text-align: center;
  font-size: 1.1em
}

.lightbox-navigation {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: .9em;
  opacity: .8
}

.lightbox-navigation__button {
  text-decoration: none;
  color: tomato
}
/*-------------------------*/
/******* 枠テンプレート*******/
/******* 枠テンプレート*******/
.block {
    padding: 20px;
    background: #fff;
    border: 4px #66cdaa solid;
    position: relative;
    z-index: 5;
}

.block:before {
    content: "";
    position: absolute;
    background: #fff;
    margin: 3px;
    border: 2px #f5faf8 solid;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    z-index: -10;
}
/*-------------------------*/
/*-------------*/
/*---- boxString ----------*/
.box5 {
    padding: 0.5em 1em;
    margin: 1em 0;
    border: double 5px #4ec4d1;
}
.box5 p {
    margin: 10; 
    padding: 0;
}
/* --- 背景が上下左右に動くのBOX定義 ------------------------ */
.box {
  position   : relative;
  max-width  : 960px;                   /* 背景の大きさに変更 */
  height     : 200px;
  margin     : auto;
  background : #ffffff;
}

/* --- 背景が上下左右に動くの背景定義 ----------------------- */
.box::before {
  display    : block;
  content    : "";
  position   : absolute;
  top        : 0;
  right      : 0;
  bottom     : 0;
  left       : 0;
  background-image : url(http://otegara.com/wp-content/uploads/2019/02/cropped-img1-1024x220-1024x220.jpg);  /* 使用する画像を指定****URLのみ可*****/
  animation  : bgAnime 15s linear infinite;
}
@keyframes bgAnime {
   0% { background-position: 0 0 }
                /* 使用する画像幅と画像高さのpxに変更ください */
 100% { background-position: 900px -103px }
}

/* --- 前面の文字定義（サンプルのため変更してください） ----- */
.boxString{
  position   : absolute;
  display    : inline-block;
  padding    : 10px;                             /* 半透明の高さサイズ */
  background : rgba(0, 127, 255, 0.3);          /* 半透明の青 */
  color      : #fff;
  top        : 25%;                               /*位置　 中央寄せ */
  left       : 25%;
  transform  : translate(-50%,-50%);
}
/***********************************/
/************** swing **************/
/***********************************/
body {background: #fff;}
.swing {
    -moz-animation: swing linear 3s infinite;
    -moz-transform-origin: center -20px 0;
    -webkit-animation: swing linear 6s infinite;
    -webkit-transform-origin: center -20px 0;
    -ms-animation: swing linear 20s infinite;
    -ms-transform-origin: center -20px 0;
    -o-animation: swing linear 20s infinite;
    -o-transform-origin:center -20px 0;
    animation: swing linear 20s infinite;
    transform-origin: center -20px 0;
    display: block;
    float:left;
    box-shadow: 5px 5px 10px rgba(0,0,0,0.5);
}
.swing img {
    border: 5px solid #f8f8f8;
    z-index: 2;
    display: block;
}
.swing:after{
    content: '';
    border: 1px solid #999;
    top: -10px;
    z-index: 0;
    left: 50%;
    width: 20px;
    height: 20px;
    border-bottom: none;
    border-right: none;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
}
.swing:before{
    content: '';
    top: -14px;
    z-index: 5;
    left: 54%;
    width: 5px;
    border-radius: 50% 50%;
    background: #000;
    height: 5px;
    position: absolute;
}
 
@-moz-keyframes swing {
    0% { -moz-transform: rotate(0deg) }
    25% { -moz-transform: rotate(6deg); }
    50% { -moz-transform: rotate(0deg); }
    75% { -moz-transform: rotate(-6deg); }
    100% { -moz-transform: rotate(0deg); }
}
@-webkit-keyframes swing {
    0% { -webkit-transform: rotate(0deg); }
    25% { -webkit-transform: rotate(6deg); }
    50% { -webkit-transform: rotate(0deg); }
    75% { -webkit-transform: rotate(-6deg); }
    100% { -webkit-transform: rotate(0deg); }
}    
@-o-keyframes swing {
    0% { -o-transform: rotate(0deg); }
    25% { -o-transform: rotate(6deg); }
    50% { -o-transform: rotate(0deg); }
    75% { -o-transform: rotate(-6deg); }
    100% { -o-transform: rotate(0deg); }
}
@-ms-keyframes swing {
    0% { -ms-transform: rotate(0deg); }
    25% { -ms-transform: rotate(6deg); }
    50% { -ms-transform: rotate(0deg); }
    75% { -ms-transform: rotate(-6deg); }
    100% { -ms-transform: rotate(0deg); }
}
@keyframes swing {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(6deg); }
    50% { transform: rotate(0deg); }
    75% { transform: rotate(-6deg); }
    100% { transform: rotate(0deg); }
}
/***********************************/
/*******content-wrap**写真を並べる**************/
/***********************************/
.contents-wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.5rem;
}
.contents-wrap:nth-child(odd) {
	flex-direction: row-reverse;
}

.contents-text {
	width: 60%; /*flex: 2;*/
}
.contents-img {
	width: 100%; /*flex: 1;*/
}

.contents-text h2 {
	margin-bottom: 1rem;
	font-size: 1.5rem;
}

.contents-img img {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 568px){
	.contents-wrap,
	.contents-wrap:nth-child(odd)  {
		flex-direction: column;
	}

	.contents-text,
	.contents-img {
		width: 60%; /*flex: 1;*/
	}

	.contents-text {
		padding: 0.5rem;
	}

	.contents-text h2 {
		text-align: center;
	}
}
/**********************************/
/**********************************/
/**********************************/
table{
border-collapse:collapse;
margin-bottom:30px;
}
table th{
background-color:#eee;
border:solid 1px #bbbbbb;
padding:4px;
font-weight:normal;
font-size:13px;
}
table td{
border:solid 1px #bbbbbb;
padding:4px;
font-size:13px;
}

dd{
	margin-bottom:1em;
}
.mininote{
color:#aaa;
font-size:14px;
}
/**************** wrap **********************/
/****** float with Youtube **************/
/********* 高倉健 ********/
.float-right{
  float:right;
  width:50%;
}
.float-left{
  float:left;
  width:50%;
}
.wrap:after{
display:block;
clear:both;
content:"";
}
/**************************************/
/*********クルーデザインsite********/
.wrapper {
  position:relative;
  display:inline-block;
}
.label {
  position:absolute;
  color:white;
  background:rgba(0, 127, 255, 0.3); /***半透明色***/
  padding:5px 53px;    
}
.label-left-top{
  left:80px;
  top:30px;
}
/****************wrench**********************/
/**********************************/
.wrench {
  animation: wrench_7909 3.875s ease infinite;
  transform-origin: 90% 35%;
}
 
@keyframes wrench_7909 {
  0% { transform:rotate(-12deg) }
  5.16129% { transform:rotate(12deg) }
  6.45161% { transform:rotate(24deg) }
  11.6129% { transform:rotate(-24deg) }
  12.90323% { transform:rotate(-24deg) }
  18.06451% { transform:rotate(24deg) }
  19.35484% { transform:rotate(24deg) }
  24.51613% { transform:rotate(-24deg) }
  25.80645% { transform:rotate(-24deg) }
  30.96774% { transform:rotate(24deg) }
  32.25807% { transform:rotate(24deg) }
  37.41935% { transform:rotate(-24deg) }
  38.70968% { transform:rotate(-24deg) }
  43.87097% { transform:rotate(24deg) }
  48.3871% { transform:rotate(0deg) }
  100% { transform:rotate(0deg) }
}
/**************************************/
/**********************************/
/* アコーディオン */
/**************************************/
.accordion{
	margin:0 0 35px 0;
}
.accordion_title{
	color:#fff;
	font-size:16px;
	font-weight:normal;
	text-align:left;
	background-color:#37b78e;/*メニュー枠内*/
	padding:5px 15px;
	margin:0;
	border:1px solid #40e0d0;/*メニュー枠外*/
	border-radius:4px 4px 0 0;
}
.accordion_content{
	padding:10px 10px 10px 25px;
	margin:0;
	border:1px solid #40e0d0;/*メニュー枠外*/
	border-top:none;
	border-radius:0 0 4px 4px;
	box-shadow:2px 2px 1px rgba(0,0,0,0.1);
}
.accordion_title:hover{
	color:yellow;
	cursor:pointer;
}

