
/* THEME STYLE ------------------------------------------------------

 00. ADMIN SETTING  				管理画面投稿用の設定※消さないで※

 01. COMMON SETTINGS , HEADER
 
 02. KEY VISUAL
 
 03. SECOND MENU					PC、タブレット用下層のメニュースタイル

 04. CLPG DEFAULT STYLE				wysiwygエディタデフォルトスタイル
 									.clpg-page-content スタイル以下に作成
 
 05. LOOP							記事一覧のスタイル

 06. FORM							お問い合わせフォーム
 	
 07. SITEMAP						サイトマップ

 08. FOOTER							フッター
 
 09. MEDIAQUERY for HORIZONTALNAVI	メニュー　PC、タブレット用

 10. MEDIAQUERY for TABLET
 
 11. MEDIAQUERY for BIG SP & SMALL TABLET
 
 12. MEDIAQUERY for SMARTPHONE

-------------------------------------------------------------------- */



/* 00. ADMIN SETTING
-------------------------------------------------------------------- */
.clpg-page-content{
	font-family:Meiryo, Verdana, Arial, sans-serif;
	word-break:break-strict;
	-webkit-text-size-adjust:100%; /* For iPhone , iPad */
}

body{
	font-size:1em!important;
}



/* 01. COMMON SETTINGS , HEADER
-------------------------------------------------------------------- */
#body,
#body input,
#body select,
#body textarea {
	font-family: "heisei-kaku-gothic-std",Meiryo, Verdana, Arial, sans-serif;
	font-size: 16px!important;
	font-weight: 300;
	line-height: 1;
	overflow-x: hidden;
}

.wf-loading *{
	visibility: hidden;
}

a{
	text-decoration:none;
	color: #444;
}

img{
	vertical-align: middle;
}

::selection{
	background: #de1114;
	color: #fff;
}

::-moz-selection{
	background: #de1114;
	color: #fff;
}

header[role="banner"] .inner,
.wrapper,
footer[role="contentinfo"] .inner{
	margin: 0 auto;
	width: 96%;
	max-width: 960px;
}

header[role="banner"] .inner,
footer[role="contentinfo"] .inner{
	font-size: 0px;
}

nav.utility .utilNav li{
	font-size: 0.9rem;
	margin: 0 0 1.5em;
	padding-left: 2em;
}

nav.utility .utilNav li::before{
	content: "";
	display: inline-block;
	width: 7px;
	height: 10px;
	background: url(../img/icnArrowGray.png) no-repeat left center;
	background-size: contain;
	padding-left: 0.5em;
}

nav.utility .utilNav a:hover{
	text-decoration: underline;
}

nav.utility .shareKit{
	margin: 0 24px 10px 0;
}

nav.utility .shareKit a{
	margin-left: 16px;
}

nav.utility .fontSize{
	margin-right: 16px;
}

nav.utility .fontSize li{
	font-size: 1.1rem;
}

nav.utility .fontSize li span{
	margin-right: 0.5em;
}

nav.utility .languages{
	display: none;
}

nav.utility li.totop{
	z-index: 3;
}

nav.utility li.search input[type="text"]{
	border: #444 solid 1px;
	padding: 3px;
	width: 190px;
}

input.clpg-searchbox-button{
	background-position: right;
}

header[role="banner"]{
	border-top: #de1114 solid 5px;
}

header[role="banner"] .inner h1,
header[role="banner"] .inner nav{
	margin: 25px 0;
}

header[role="banner"] .inner h1 {
	font-size: 1.5rem;
	width: 35%;
}

header[role="banner"] .inner h1 img{
	width: 256px;
	height: auto;
	max-width: 100%;
}

header[role="banner"] .inner nav{
	width: 65%;
}




/* 02. KEY VISUAL
-------------------------------------------------------------------- */

.toppage header[role="banner"] .KV{
	background: #e1f0ff; /* Old browsers */
	background: linear-gradient(#ffffff, #c3e2ff);
	background: -moz-linear-gradient(top, #ffffff 0%, #c3e2ff 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #c3e2ff), color-stop(0.00, #ffffff)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #ffffff 0%, #c3e2ff 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #ffffff 0%, #c3e2ff 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #ffffff 0%, #c3e2ff 100%); /* IE10+ */
	background: linear-gradient(to bottom, #ffffff 0%, #c3e2ff 100%); /* W3C */
	height: 350px;
}

.toppage header[role="banner"] .KV img{
	display: block;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	opacity: 0.6;
}

.toppage header[role="banner"] .KV span{
	background: url(/files/elements/KV.png) no-repeat bottom;
	background-size: contain;
	display: block;
	font-size: 20.5px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	padding: 130px 0 20px;
	text-align: center;
	width: 100%;
	max-width: 650px;
	z-index: 2;
}

.second .KV{
	display: none;
}




/* 03. SECOND MENU
-------------------------------------------------------------------- */

.second .secondMenu{
	width: 200px;
}

.second .container{
	padding-top: 2.5em;
	width: 70%;/** for old browser**/
	width: -webkit-calc(100% - 250px);
	width: calc(100% - 250px);
}

.second.noMenu .container{
	width: 100%;
	float: none;
}

nav.breadNav{
	margin: 1.5em 0 0;
}

nav.breadNav ul{
	font-size: 0;
}

nav.breadNav ul li{
	font-size: 1rem;
}

nav.breadNav ul li span{
	font-size: 0.75em;
	color: #666;
}

nav.breadNav ul li a{
}

nav.breadNav ul li a:hover span{
	color: #de1114;
	text-decoration: underline;
}

nav.breadNav ul li span::before {
	content: none;
}

nav.breadNav ul li:nth-child(n+2)::before {
	margin: 0 .5em;
	content: ">";
	color: #666;
}

nav.secondMenu{
}

nav.secondMenu ul li a{
	display: block;
	padding: 1em 0.5em 0.8em;
	transition: all 0.5s;
}

nav.secondMenu ul li.current > a,
nav.secondMenu ul li a:hover{
	color: #de1114;
}

nav.secondMenu ul.child > li:not(.menutitle) > a::before,
nav.secondMenu ul.grandchild > li > a::before{
	content: "-";
	color: #aaa;
	display: inline;
	margin-right: 0.5em;
}

nav.secondMenu ul.grandchild > li > a{
	padding-left: 1em;
}




/* 04. CLPG DEFAULT STYLE
-------------------------------------------------------------------- */

.clpg-page-content{
	color: #444;
}

.clpg-page-content h1.maintitle,
.clpg-page-content h2.maintitle{
	border-bottom: #dddddd solid 5px;
	color: #444;
	font-size: 1.5em;
	line-height: 1.2;
	margin-bottom: 30px;
	padding: 0 0.3em;
	position: relative;
}

.clpg-page-content h1.maintitle::after,
.clpg-page-content h2.maintitle::after{
	content: "";
	display: block;
	position: relative;
	bottom: -5px;
	left: -0.3em;
	width: 200px;
	height: 5px;
	background-color: #de1114;
}

.clpg-page-content h2:not(.maintitle){
	border-bottom: #ccc solid 2px;
	font-size: 1.35em;
	line-height: 1.2;
	margin: 0.5em 0 1em;
	padding: 0.2em 1.1em 0.1em;
	position: relative;
}

.clpg-page-content h2:not(.maintitle)::before{
	content: "";
	display: inline-block;
	width: 7px;
	height: 100%;
	position: absolute;
	top: 2px;
	left: 0;
	background-color :#de1114;
}

.clpg-page-content h3{
	background-color: #eee;
	border-left: 5px solid #de1114;
	font-size: 1.2em;
	line-height: 1.2;
	margin: 1em 0;
	padding: 0.3em 0.8em 0.1em;
}

.clpg-page-content h4{
	border-bottom: 4px double #de1114;
	font-size: 1.1em;
	line-height: 1.2;
	margin: 1.5em 0 0.7em;
	padding: 0.2em 0.5em 0.1em;
}

.clpg-page-content h5{
	border-bottom: #de1114 solid 2px;
	font-size: 1.1em;
	line-height: 1.1em;
	margin: 1.5em 0 0.7em;
	padding: 0.2em 0.5em 0.1em;
}

.clpg-page-content h6{
	border-bottom: #ccc solid 1px;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2;
	margin: 1.5em 0 0.7em;
	padding: 0.2em 0.5em 0.1em;
}

.clpg-page-content p{
	margin: 0.5em 0;
	font-size: 0.95em;
	line-height: 1.6;
}

.clpg-page-content table,
.clpg-page-content th,
.clpg-page-content td{
	border-collapse: collapse;
}

.clpg-page-content table{
	margin: 1em auto 0.5em;
	font-size: 0.95em;
	width:100%;
}

.clpg-page-content th,
.clpg-page-content td{
	padding:0.5em;
	border:1px solid #ccc;
	line-height: 1.6;
	text-align:left;
}

.clpg-page-content th{
	border: 1px solid #ccc;
	background: #eee;
	font-weight: 300;
	text-align: left;
	white-space: nowrap;
}

.clpg-page-content ul,
.clpg-page-content ol{
	margin: 0.5em 0;
	font-size: 0.95em;
}

.clpg-page-content ul li,
.clpg-page-content ol li{
	margin: 0.5em 1em;
	line-height: 1.6;
}

.clpg-page-content ul li{
	padding-left: 0.95em;
	position: relative;
}

.clpg-page-content ul li::before{
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #de1114;
	position: absolute;
	top: 0.4em;
	left: 0;
	margin-right: 0.95em;
}

.clpg-page-content ol li{
	margin-left: 2em;
	list-style: decimal;
}

.clpg-page-content iframe{
	max-width: 100%!important;
}

.clpg-page-content a{
	text-decoration: underline;
}

.clpg-page-content a:hover{
	color: #de1114;
	text-decoration: underline;
}

.clpg-page-content a img{
	transition: all 0.5s;
}

.clpg-page-content a img:hover{
	opacity: 0.7;
}

.clpg-page-content .attachment{
	transition: all 0.5s;
}

.clpg-page-content .attachment:hover{
	background-color: #eee;
}

.clpg-page-content .attachment p{
	line-height: 1.3;
}

.clpg-page-content .attachment a{
	color: #de1114;
	text-decoration: none;
}

.clpg-page-content .attachment a:hover{
	text-decoration: underline;
}

.clpg-page-content .attachment span{
	display: inline-block;
	padding-top: 0.5em;
}

[data-icon]{
	background-position: left 0.1em;
}

.clpg-search-container .searchBox{
	border: none;
	margin-bottom: 30px;
}

.clpg-search-container .searchBox input.clpg-searchbox-input{
	background: #eee;
}




/** style module **/
a.btn{
	display: block;
	font-size: 1em;
	width: 260px;
	margin: 2em auto 0;
	padding: 0.75em 2em 0.6em 1em;
	text-align: center;
	text-decoration: none;
	transition: all 0.5s;
	background: #de1114 url(../img/icon/arrowRed.png) no-repeat right 10px  center;
	background-size: 18px;
	color: #fff
}

a.btn:hover{
	color: #fff;
	opacity: 0.7;
	text-decoration: none;
}

a.btn.back{
	background: #de1114 url(../img/icon/backRed.png) no-repeat left 10px  center;
	background-size: 18px;
	margin: 80px auto 20px;
	padding: 0.75em 1em 0.6em 2em;
}

p.link{
	text-align: center;
}

p.link a{
	background: url(../img/icon/udatu.png) no-repeat left 10px center,url(../img/icon/blank.png) no-repeat right 0.5em center;
	background-size: 20px,12px;
	border: #aaa solid 1px;
	display: inline-block;
	padding: 0.75em 2em 0.6em 2.5em;
	text-decoration: none;
	transition: all 0.5s;
}

p.link a:hover{
	background-color: #eee;
	color: inherit;
	text-decoration: none;
}
	
	
/** layout module **/
.flexContainer{
	display:-webkit-box;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:flex;
	-ms-flex-wrap:wrap;
  -webkit-flex-wrap:wrap;
  flex-wrap:wrap;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	margin: 0 auto;
	text-align: center;
	width: 100%;
}

.flexContainer.around{
	align-items: center;
}

.flexContainer.around{
text-align: center\9!important;
}

.flexContainer.around .flexItem{
display: inline-block\9!important;
}



/** page style **/
.toppage .container{
	margin: 0 auto;
	width: 96%;
	max-width: 960px;
}

.toppage .wrapper{
	width: 100%;
	max-width: 100%;
}

.toppage .product,
.toppage .newsIndex{
	margin-bottom: 120px;
}

.toppage .product p{
	margin: 0 0 36px;
	padding-top: 16px;
	text-align: center;
}

.toppage .product p.title{
	line-height: 1;
}

.toppage .product p.title img{
	width: 142px;
}

.toppage .product p.text{
	font-size: 1.25em;
	margin: 80px 0 0;
}

.toppage .product .flexContainer{
	width: 100%;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}

.toppage .product .flexItem{
	display: block;
  width: 31%;
	max-width: 250px;
}

.toppage .product a{
	display: block;
}

.product .flexContainer + .flexContainer{
	margin-top: 20px;
}


/** snsArea & bannerArea **/
.wrapper .snsArea .flexItem{
	width: 42%;
}

.wrapper .snsArea .banner a,
.wrapper .bannerArea a{
	display: block;
	transition: all 0.5s;
}

.wrapper .snsArea .banner a:hover,
.wrapper .bannerArea a:hover{
	opacity: 0.6;
}

.wrapper .snsArea .banner a + a img{
	margin-top: 25px;
}

.facebook-wrapper {
    max-width: 500px;
    margin: 0 auto;
}
.facebook-wrapper > .fb-page {
    width: 100%;
}
.facebook-wrapper > .fb-page > span,
.facebook-wrapper iframe,
.facebook-wrapper iframe div._2p3a{
    width: 100% !important;
}

.fb_iframe_widget span iframe{
	position: static;
}

.wrapper .snsArea .banner img{
	width: 100%;
	max-width: 400px;
}

.wrapper .snsArea{
	width: 95%;
	max-width: 820px;
	margin: 0 auto;
	overflow: auto;
}

.wrapper .snsArea > div{
	width: 46%;
	margin-bottom: 80px;
}

.wrapper .snsArea > div.facebook-wrapper{
	float: left;
}

.wrapper .snsArea > div.banner{
	float: right;
}

.wrapper .bannerArea{
	clear: both;
	width: 95%;
	max-width: 820px;
	margin: 0 auto;
}

.wrapper .bannerArea a{
	margin: 10px;
}

.wrapper .bannerArea a img{
	max-width: 100%;
}

.second .snsArea,
.second .bannerArea{
	display: none;
}




/* 05. LOOP
-------------------------------------------------------------------- */

h2.maintitle + article.loop{
	margin-top:-0.5em;
}

article.loop{
	padding: 14px;
	clear: both;
	border-bottom: #ddd solid 1px;
	position: relative;
	transition: all 0.5s;
}

article.loop:hover{
	background-color: #efefef;
}

article.loop:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
* html article.loop             { zoom: 1; }
*:first-child+html article.loop { zoom: 1; }

article.loop figure{
	float: right;
	margin-left: 1em;
}

article.loop h3{
	background: none;
	border: none;
	font-size: 1em;
	font-weight: 300;
	margin: 0;
	padding: 0;
}

article.loop h3 time{
	margin-right: 40px;
	font-size: 0.9em;
}

article.loop a{
	color: #444;
	text-decoration: none;
}

article.loop a:hover{
	color: #de1114;
	text-decoration: none;
}

article.loop:not(.nodate) p.summary{
	font-size: 0.85em;
	margin-top: 1em;
	padding-left: 9em;
}

.catalog article.loop h3 time{
	display: none;
}

nav.paging li::before{
	content: none;
}

nav.paging li a{
	color: #de1114;
	text-decoration: none;
}

nav.paging li a:hover{
	text-decoration: underline;
}




/* 06. FORM
-------------------------------------------------------------------- */
.clpg-form-container .require{
	color:#de1114;
	font-size:0.8em;
}

.clpg-form-container table{
	width:100%;
}

.clpg-form-container table p{
	font-size:1em;
}

.clpg-form-container table th{
	white-space: nowrap;
}

.clpg-form-container p.caution{
	padding-left: 20px;
	color: #de1114;
	background: url(../img/icon/errIcon.png) no-repeat left 0.2em;
}

.clpg-form-container label{
	margin: 0.2em 0;
}

.clpg-form-container select{
	border: 1px solid #CCC;
	height: 2em;
}

.clpg-form-container select option{
	padding: 0.2em 0;
}

.clpg-form-container .input-err{
	background:#FFCFCF;
}

.clpg-form-container .buttonContainer{
	text-align:center;
}

.clpg-form-container .buttonContainer input{
	cursor:pointer;
	display:inline;
}

.clpg-form-container input.button{
	margin: 2em 0;
	padding: 0.75em 1em 0.6em;
	border: none;
	border-radius: 0;
	background: #de1114;
	color: #FFF;
	font-size: 1em;
	font-weight: 300;
	width: 260px;
	text-align: center;
	transition: all 0.5s;
}

.clpg-form-container .button.back{
	background: #aaa;
}

.clpg-form-container .button:hover{
	opacity: 0.7;
}

input.clpg-form-text-w300,
input.clpg-form-text-w360,
textarea.clpg-form-textarea-w470h200{
	width: 100%;
}




/* 07. SITEMAP
-------------------------------------------------------------------- */
ul.clpg-sitemap-container{
	margin:0;
}

ul.clpg-sitemap-container *{
	font-size:1em;
}

ul.clpg-sitemap-container a{
	color: #444;
	display: block;
	padding: 0.7em 1em 0.7em 0;
	text-decoration: none;
}

ul.clpg-sitemap-container ul,
ul.clpg-sitemap-container li{
	margin: 0;
	padding: 0;
}

ul.clpg-sitemap-container li::before{
	content: none;
}

ul.clpg-sitemap-container > li{
	background: url(../img/icnArrowGray.png) no-repeat left top 1.2em;
	background-size: 7px 10px;
	padding-left: 1em;
}

ul.clpg-sitemap-container li ul li{	
	background: url(../img/icnTree.png) no-repeat left top 1em;
	background-size: 8px 8px;
	font-size: 0.9em;
	padding-left: 1em;
}






/* 08. FOOTER
-------------------------------------------------------------------- */
@keyframes walk {
  from {
    right: -160px;
  }
  to {
    right: 100%;
  }
}

@keyframes walkSp {
  from {
    right: -74px;
  }
  to {
    right: 100%;
  }
}

footer[role=contentinfo]{
	background:#eee;
	border-bottom: #de1114 solid 5px;
	margin-top: 160px;
	padding:1em 0;
	position: relative;
}

footer[role=contentinfo] .inner::before{
	content: "";
	display: block;
	position: absolute;
	top: -195px;
	right: 200px;
	width: 200px;
	height: 200px;
	background: url(/files/elements/footerAnimation.gif) no-repeat;
	background-size: contain;
	animation-name: walk;
	animation-duration: 60s;
	animation-iteration-count: infinite;
	z-index: 2;
}

footer[role=contentinfo] span.walk img{
	max-width: 100%;
}

footer[role=contentinfo] nav.utility .utilNav li{
	margin-bottom: 0.7em;
}

footer[role=contentinfo] p.copyright{
	font-size: 0.8rem;
	text-align: right;
}




/* 09. MEDIAQUERY for HORIZONTALNAVI
-------------------------------------------------------------------- */
@media only screen and (min-width: 481px) {
	nav[role=navigation]{
		box-shadow: #ddd 1px 1px 1px;
		width:100%;
		height:100%;
		background:#fff;
		margin-bottom: 3px;
	}
		
	nav[role=navigation] ul.global{
		width: 100%;
		text-align: center;
		font-size: 0;
	}
	
	nav[role=navigation] > ul.global li{
		font-size: 1rem;
		position: relative;
		text-align:center;
		width: 20%;
		max-width: 192px;
	}
	
	nav[role=navigation] ul.global li a{
		color:#444;
		padding:0.8em 0.5em 0.5px;/** for old browser**/
		padding:0.8em 0.5em -webkit-calc(0.8em - 3px);
		padding:0.8em 0.5em calc(0.8em - 3px);
		position: relative;
		transition: all .3s;
	}
	
	nav[role=navigation] > ul.global li a::before{
		content: "";
		display: inline-block;
		width: 1px;
		height: 98%;/** for old browser**/
		height: -webkit-calc(100% - 1.2em);
		height: calc(100% - 1.2em);
		background: #ccc;
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		transition: all .3s;
	}
	
	nav[role=navigation] > ul.global li:first-child a::before{
		content: none;
	}
	
	nav[role=navigation] > ul.global li a::after{
		content: "";
		display: block;
		width: 0;
		height: 0;
		background: #de1114;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 2;
	}

	nav[role=navigation] > ul.global li.current a,
	nav[role=navigation] > ul.global li:hover a{
		color: #de1114;
	}
	
	nav[role=navigation] > ul.global li.current a::after,
	nav[role=navigation] > ul.global li:hover a::after{
		width: 100%;
		height: 3px;
		transition: width .3s;
	}
	
	nav.utility li.totop{
		bottom: 20px;
		right: 20px;
	}
	
	nav.utility li.totop a img{
		width: 80px;
		height: 80px;
		transition: all 0.5s;
	}
	
	nav.utility li.totop:hover a img{
		width: 100px;
		height: 100px;
	}
	
	
	
	nav.secondMenu ul li a{
		position: relative;
		transition: all .3s;
	}
	
	nav.secondMenu ul li a::after{
		content: "";
		display: block;
		width: 0;
		height: 0;
		background: #de1114;
		position: absolute;
		bottom: 0;
		left: 0;
		margin: auto;
		z-index: 2;
	}

	nav.secondMenu ul li a:hover{
		color: #de1114;
	}
	
	nav.secondMenu ul li a:hover::after{
		width: 100%;
		height: 3px;
		transition: width .3s;
	}
	
}




@media only screen and (min-width: 1440px) {
	.toppage .wrapper{
		background-image: url(../img/bg01.png),url(../img/bg02.png),url(../img/bg03.png),url(../img/bg04.png),url(../img/bg05.png),url(../img/bg06.png);
		background-repeat: no-repeat;
		background-position: left top,right top,left 500px,right 500px,left 1000px,right 50px top 1000px;
	}
}




@media only screen and (max-width: 1440px) and (min-width: 1140px){
	.toppage .wrapper{
		background-image: url(../img/bg01.png),url(../img/bg02.png),url(../img/bg03.png),url(../img/bg04.png),url(../img/bg05.png),url(../img/bg06.png);
		background-repeat: no-repeat;
		background-position: left top,right top,left 500px,right 500px,left 1200px,right 50px top 1000px;
		background-size: 25%,25%,20%,15%,15%,2%;
	}
}




/* 10. MEDIAQUERY for TABLET
-------------------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 1024px) {

	header[role="banner"] .inner,
	.wrapper,
	footer[role="contentinfo"] .inner{
		margin:0 auto;
		width:96%;
	}

	nav[role=navigation] ul.global{
	  width:100%;
  }

	nav[role=navigation] > ul.global li{
		width: 99%;/** for old browser**/
		width: -webkit-calc(100% / 3);
		width: calc(100% / 3);
	}
	
	nav.utility li.search input[type="text"]{
		width: 130px;
	}

		
}




/* 11. MEDIAQUERY for BIG SP SMALL TABLET
-------------------------------------------------------------------- */
@media only screen and (min-width: 481px) and (max-width: 767px) {

	header[role="banner"] .inner,
	.wrapper,
	footer[role="contentinfo"] .inner{
		margin:0 auto;
		width:96%;
	}
	
	nav.utility .fontSize{
		display: none;
	}
	
	nav[role=navigation] ul.global{
		width:100%;
	}

	nav[role=navigation] > ul.global li{
		width: 33%;/** for old browser**/
		width: -webkit-calc(100% / 3);
		width: calc(100% / 3);
	}
	
	nav.utility .utilNav li{
		font-size: 0.75rem;
		padding-left: 1.5em;
	}
	
	nav.utility li.search input[type="text"]{
		width: 130px;
	}
	
	.toppage header[role="banner"] .KV{
		height: 45vw;
	}
	
	.wrapper{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-direction: row;
		-moz-flex-direction: row;
		-ms-flex-direction: row;
		-o-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		-moz-justify-content: space-between;
		-ms-justify-content: space-between;
		-o-justify-content: space-between;
		justify-content: space-between;
	}

	.second .secondMenu,
	.second .container{
		display: block !important;
		float: none !important;
		width: 100% !important;
	}
	
	.second .secondMenu{
		order: 2;
	}
	
	.second .container{
		order: 1;
	}
	
	article.loop h3 time{
		margin-right: 16px;
	}
	
	.wrapper .snsArea{
		order: 3;
	}
	
	.wrapper .bannerArea{
		order: 4;
	}

	.wrapper .snsArea > div{
		width: 100%;
		margin-bottom: 50px;
	}

	.wrapper .snsArea > div.facebook-wrapper,
	.wrapper .snsArea > div.banner{
		float: none;
		text-align: center;
	}
	
	.flexContainer.around .flexItem{
		width: 100%;
	}

}




/* 12. MEDIAQUERY for SMARTPHONE
-------------------------------------------------------------------- */
@media only screen and (max-width: 480px) {
	
	header[role="banner"] .inner,
	.wrapper,
	footer[role="contentinfo"] .inner{
		margin:0 auto;
		width:100%;
	}
		
	ul.spHeader{
		border-top: #de1114 solid 5px;
		box-shadow: #ddd 1px 1px 1px;
		font-size: 0;
		height: 75px;
		padding: 10px 15px;
	}
	
	ul.spHeader li{
		vertical-align: middle;
	}
	
	ul.spHeader li.language{
		display: none;
	}
	
	ul.spHeader li.search{
		padding: 0;
		width: 65%;/** for old browser**/
		width: -webkit-calc(100% - 65px);
		width: calc(100% - 65px);
	}
	
	ul.spHeader li.search input.clpg-searchbox-input{
		padding: 2px;
	}
	
	ul.spHeader li.spmenu{
		position: static;
		margin-left: 15px;
	}
	
	ul.spHeader li.spmenu li{
		width: 50px;
		height: 50px;
	}
	
	ul.spHeader li.spmenu li img{
		width: 50px;
		height: 50px;
	}
	
	nav[role=navigation]{
		border-bottom: #de1114 solid 5px;
		right: 0;
		top: 0;
		width: 100%;
	}
	
	nav[role=navigation] ul.global{
		padding-bottom: 0.5em;
	}
		
	nav[role=navigation] ul.global li{
		margin:0;
		width:100%;
		text-align:left;
	}

	nav[role=navigation] ul.global li a{
		display:block;
		padding:1em 1.5em;
		color:#000;
	}
	
	nav[role=navigation] ul.global > li > a{
		background: url(../img/icnArrowGray.png) no-repeat left 1em top 1.2em;
		background-size: 7px 10px;
		padding-left: 2em;
	}
		
	nav[role=navigation] ul.global li.current > a{
		color:#de1114;
	}
		
	nav[role=navigation] ul.child li{
		padding-left: 1em;
	}
	
	nav[role=navigation] ul.child > li a{
		background: url(../img/icnTree.png) no-repeat left 1em top 1em;
		background-size: 8px 8px;
		font-size: 0.9rem;
		padding-left: 2em;	
	}
	
	
	header[role="banner"] {
    border-top: none;
	}
	
	header[role="banner"] .inner{
		text-align:center;
	}
	
	header[role="banner"] .inner h1{
		margin: 12px 0;
		padding-left: 0;
		width: 100%;
	}
	
	header[role="banner"] .inner h1 img{
		max-width: 256px;
	}
	
	.toppage header[role="banner"] .KV{
		height: 45vw;
	}
	
	.toppage header[role="banner"] .KV::before{
		content: "";
		display: block;
		position :absolute;
		bottom: 0;
		width: 100%;
		height: 11.4vw;
		background:#fff;
	}
	
	.toppage header[role="banner"] .KV span{
		font-size: 4vw;
		padding: 110px 0 10px;
		width: 95%;
	}
		
	
	/** second page style **/
	.second .secondMenu{
		padding-top: 2em;
	}
	
	.container{
		order: inherit;
	}
	
	.flexContainer{
		display: block;
	}
	
	nav.breadNav{
		width: 96%;
		margin: 1.5em auto 0;
	}
	
	nav.breadNav ul li:first-child{
		margin-left: 0;
	}
	
	
	
	/** clpg default style**/
	
	
	
	/** page style **/
	.toppage .product,
	.toppage .newsIndex{
		margin-bottom: 80px;
	}
	
	.toppage .product .flexItem{
		margin: 0 auto 30px;
		width: 100%;
	}
	
	.toppage .product p.text{
		font-size: 1em;
		margin: 40px 0 0;
	}
	
	.toppage .product p.text span{
		display: inline-block;
	}
	
	
	
	/** snsArea and bannerArea **/
	.toppage .wrapper .snsArea,
	.toppage .wrapper .bannerArea{
		display: block;
		text-align: center;
		width: 80%;
		margin-right: auto;
		margin-left: auto;
	}
	
	.toppage .wrapper .snsArea{
		margin-bottom: 80px;
	}
	
	.toppage .wrapper .snsArea .banner{
		margin-top: 25px;
	}
	
	.toppage .wrapper .bannerArea a + a{
		margin-top: 25px;
	}

	.wrapper .snsArea > div{
		width: 100%;
		margin-bottom: 50px;
	}

	.wrapper .snsArea > div.facebook-wrapper,
	.wrapper .snsArea > div.banner{
		float: none;
		text-align: center;
	}
	
	.flexContainer.around .flexItem{
		width: 100%;
	}
	
	
	
	/** loop **/
	article.loop a{
		display: block;
	}
	article.loop h3 time{
		display: block;
		margin: 0 0 10px 0;
	}
	article.loop:not(.nodate) p.summary{
		padding-left: 0;
	}
	
	
	
	/** footer **/
	nav.utility li.totop a img{
		width: 100px;
		height: 100px;
	}
	
	nav.utility.footer a{
		display: inline;
	}
	
	footer[role=contentinfo] .inner::before{
		width: 100px;
		height: 100px;
		top: -95px;
		animation-name: walk;
		animation-duration: 15s;
		animation-iteration-count: infinite;
	}

	footer[role="contentinfo"] .snsArea,
	footer[role="contentinfo"] .bannerArea{
		display: none;
	}
	
	footer[role="contentinfo"] nav.utility .utilNav li{
		margin-bottom: 1.5em;
	}
	
	footer[role="contentinfo"] p.copyright{
		font-size: 0.7rem;
		text-align: center;
	}
	
}