@charset "UTF-8";

	#main{
		background:#CFD8DD;
	}

	#contents ul{
		list-style:none;
	}

	#contents ul.inner{
		display: flex;
		flex-wrap: wrap;
	}

	#contents div.box{
		background-repeat:
	    	repeat,
			repeat;
		animation:
			drill 5s infinite linear ;
		-webkit-animation:
			drill 5s infinite linear ;
	}

	#contents div.box img{
		/* box-shadow */
		box-shadow        :2px 2px 4px 0px rgba(0,0,0,0.3);
		-moz-box-shadow   :2px 2px 4px 0px rgba(0,0,0,0.3);
		-webkit-box-shadow:2px 2px 4px 0px rgba(0,0,0,0.3);
	}

	#contents div.note{
		margin-top :0.2em;
		font-size  :90%;
		line-height:1.2em;
		font-weight:bold;
		text-align :center;
	}

	#contents li.blue{
		color:#005AAB;
	}
	#contents li.pink{
		color:#C04374;
	}
	#contents li.purple{
		color:#735D8F;
	}

	#contents li.blue div.box{
		background-image:
			url("../img/stripe_pattern_1.png"),
			url("../img/btn_blue_base.jpg");
	}
	#contents li.pink div.box{
		background-image:
			url("../img/stripe_pattern_2.png"),
			url("../img/btn_pink_base.jpg");
	}
	#contents li.purple div.box{
		background-image:
			url("../img/stripe_pattern_3.png"),
			url("../img/btn_purple_base.jpg");
	}
	@keyframes drill {
	  0%   { background-position: 0 0   ,0 0; }
	  100% { background-position: 0 -136px,0 0; }
	}

	@-webkit-keyframes drill {
	  0%   { background-position: 0 0   ,0 0; }
	  100% { background-position: 0 -136px,0 0; }
	}

	#contents div.small{
		letter-spacing: -1px;
	}

	#content2{
		width:100%;
		clear:both;
		padding-bottom: 38px;
	}

	#content2 img{
		max-width:90%;
	}

	#content2 h4{
		border-top   : solid 2px #005AAB;
		border-bottom: solid 2px #005AAB;
		margin: 0.2em 0.2em 0.5em 0;
		padding: 0.2em 0.8em;
	}

	#banner img{
		margin-left:1em;
	}

	#osgbanner{
		margin-top:6px;
	}

	ul.information{
		list-style-type: none;
		margin-left:16px;
		font-size:90%;
	}

	ul.information li:before {
		content: '\0025B6';
		margin-left:-16px;
		color:#005AAB;
	}

	.campaign_banner img{
		width:86.6667%;
	}

@media screen and (min-width:0px) and (max-width: 960px) {

	#slide {
		background-color:#CFD8DD;
		height: 41.666667vw;
		margin:0 auto;
		position:relative;
	}

	#slide li{
		position:absolute;
		width: 100%;
		height: 41.666667vw;
		left:0;
		top:0;
	}

	#slide li img{
		width: 100%;
		height: 41.666667vw;
	}

	#sidebar{
		padding:2em 0 1em 0;
		width: 100%;
		text-align: center;
	}

	#sidebar img{
		width: 87.5%;
	}

	#contents{
		margin: 0;
		padding: 0 6.25vw;
	}

	#contents ul.inner{
		width: 100%;
	}

	#contents div.box{
		width: 40vw;
		height: 20vw;
		-webkit-background-size: 40vw 42.5vw;
		background-size: 40vw 42.5vw;
	}

	@keyframes drill {
	  0%   { background-position: 0 0   ,0 0; }
	  100% { background-position: 0 -42.5vw,0 0; }
	}

	@-webkit-keyframes drill {
	  0%   { background-position: 0 0   ,0 0; }
	  100% { background-position: 0 -42.5vw,0 0; }
	}


	#contents ul.inner li{
		width: 40vw;
		display:inline-block;
	}

	#contents ul.inner li{
		padding-bottom:2vw;
	}

	#contents ul.inner li:nth-child(even){
		padding-left:2.5vw;
		padding-left:-webkit-calc(100% - 80vw);
		padding-left:calc(100% - 80vw);
	}

	#contents ul.inner li:nth-child(even) div{
		right:0;
	}

	#contents img {
	  width: 36vw;
	  height: auto;
	}

	#banner img{
		margin-left:0;
	}

	#content2 img{
		max-width:100%;
	}

}

@media screen and (min-width:960px){

	.wrap{
		position:relative;
	}

	#container{
		width: 606px;
		float: right;
		margin-left: -354px;
	}

	#contents{
		position: relative;
		padding: 38px 0 26px 0;
	}

	#sidebar{
		width: 354px;
		float: left;
		text-align: left;
	}

	#sidebar img{
		padding: 38px 64px;
	}

	#slide {
		background-color:#CFD8DD;
		height: 400px;
		margin:0 auto;
		position:relative;
	}

	#slide li{
		position:absolute;
		width: 960px;
		height: 400px;
		left:0;
		top:0;
	}


	#contents ul.inner{
		width:606px;
	}

	#contents div.box{
		width: 128px;
		height: 128px;
	}

	#contents ul.inner li{
		width: 128px;
		padding: 0px 10px 0.5em 0px
	}

	@keyframes drill {
	  0%   { background-position: 0 0   ,0 0; }
	  100% { background-position: 0 -136px,0 0; }
	}

	@-webkit-keyframes drill {
	  0%   { background-position: 0 0   ,0 0; }
	  100% { background-position: 0 -136px,0 0; }
	}

}