@charset "utf-8";  
/*------------------------------------------------------------ 
	デフォルトスタイル	全ページ共通css
------------------------------------------------------------*/  

html,
body { margin: 0; padding: 0;}
body {
	font-size: 1.2rem;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	overflow-y:scroll;
}

html { font-size: 62.5%;}
html.fontS { font-size: 56.25%;}
html.fontL { font-size: 68.75%;}

div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, figure, figcaption {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-family: arial, helvetica, sans-serif;
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
	word-break:keep-all;
}  

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,main,picture {
    display: block;
}

blockquote,
q { quotes: none;}

a {
	text-decoration: none;
	outline: none;
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del { text-decoration: line-through;}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select,
textarea {
	font-size: 100%;
	vertical-align: middle;
	font-family: 'Noto Sans JP', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

input[type=text],
input[type=tel],
input[type=password],
textarea{ -webkit-appearance:none;}

input[type=checkbox],
input[type=radio]{
	position:relative;
	top:-1px;
}

ul { list-style-type: none;}
img { vertical-align: middle;}

.img-responsive{
	width:100%;
	height:auto;
}

.opacity { transition:all 0.2s ease-out;}

.opacity:hover { opacity: .7;}

.clear { clear: both;}
.clearfix { width: 100%;}
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
	visibility:hidden;
	height:0.1px;
	font-size:0.1em;
	line-height:0;
}

.fl { float: left;}
.fr { float: right;}

.txtl { text-align: left;}
.txtr { text-align: right;}
.txtc { text-align: center;}

strong,
strong *,
.fwb { font-weight: bold!important;}

.clrr { color: #FF0000;}
.clrb { color: #333;}
.clrw { color: #fff;}

.il { display: inline;}
.bl { display: block;}
.no { display: none;}

.li2 { line-height: 2;}

/* margin */
.mt10 { margin-top: 10px;}
.mt20 { margin-top: 20px;}
.mt30 { margin-top: 30px;}

.mr10 { margin-right: 10px;}
.mr20 { margin-right: 20px;}
.mr30 { margin-right: 30px;}

.mb10 { margin-bottom: 10px;}
.mb20 { margin-bottom: 20px;}
.mb30 { margin-bottom: 30px;}

.ml10 { margin-left: 10px;}
.ml20 { margin-left: 20px;}
.ml30 { margin-left: 30px;}

/* padding */
.pt10 { padding-top: 10px;}
.pt20 { padding-top: 20px;}
.pt30 { padding-top: 30px;}

.pr10 { padding-right: 10px;}
.pr20 { padding-right: 20px;}
.pr30 { padding-right: 30px;}

.pb10 { padding-bottom: 10px;}
.pb20 { padding-bottom: 20px;}
.pb30 { padding-bottom: 30px;}

.pl10 { padding-left: 10px;}
.pl20 { padding-left: 20px;}
.pl30 { padding-left: 30px;}



/*------------------------------------------------------------ 
    スタイル 
------------------------------------------------------------*/
/*
.inner {
	width:100%;
	max-width: 1080px;
	margin: 0 auto;
	padding-right:50px;
	padding-left:50px;
	box-sizing:border-box;
}

.inner.wid{ max-width:1180px;}
*/


.inner{
	width:100%;
	padding-left:100px;
	padding-right:100px;
	box-sizing:border-box;
}

.inner.wid{
	padding-left:50px;
	padding-right:50px;
}

.flex{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	   -ms-flex-pack:justify;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-end{
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.flex-center{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.flex-left{
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: start;
}

.flex-align{
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}

.flex-align-start{
  -webkit-box-align: start;
     -ms-flex-align: start;
        align-items: flex-start;
}

.flex-align-end{
  -webkit-box-align: end;
     -ms-flex-align: end;
        align-items: flex-end;
}

.flex-column{
 -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -ms-flex-direction: column;
         flex-direction: column;
}

.flex-reverse{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.flex-auto{ flex:1;}

.hover figure{ overflow:hidden;}

.hover img{ transition:all 0.4s ease-out;}

.hover:hover img{ transform:scale(1.1);}

.tel-link,
.tel-link a{
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
	font-family:inherit;
}

/*------------------------------------------------------------ 
    ヘッダー 
------------------------------------------------------------*/

#skip-nav a{
	position:absolute;
	width:100%;
	top:-36px;
	left:10px;
	color:#fff;
	line-height:36px;
	background:#448B56;
}

#skip-nav a:focus{ top:0;}

#wrap{
	width:100%;
	padding-top:90px;
	box-sizing:border-box;
    transition: all 0.5s cubic-bezier(0.485, 0.135, 0, 0.995);
}

#header{
	width:100%;
	height:90px;
	padding-right:90px;
	background:rgba(255,255,255,.95);
	box-sizing:border-box;
    transition: all 0.5s cubic-bezier(0.485, 0.135, 0, 0.995);
	position:fixed;
	top:0;
	left:0;
	z-index:1000;
}

#hdLogo{
	width:90px;
	height:100%;
	margin-right:15px;
	background:#448B56;
}

#hdLogo a{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
	width:100%;
	height:100%;
}

#hdLogo img{
	width:46px;
	height:auto;
}

.siteTitle__jp{
	font-size:2rem;
	font-weight:bold;
	line-height:1;
}

.siteTitle__en{
	margin-top:6px;
	letter-spacing:0.05em;
	line-height:1;
	font-family: 'Poppins', sans-serif;
}

#header .siteTitle__jp{ color:#3E3A39;}
#header .siteTitle__en{ color:#898989;}

#hdTitle__lead{
	color:#448B56;
	margin-left:20px;
	font-size:1.6rem;
	font-weight:bold;
}

#hdNavi{
	margin-left:auto;
	height:100%;
}

.hdNavi__item{
	width:90px;
	height:100%;
}

.hdNavi__trigger{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
 -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -ms-flex-direction: column;
         flex-direction: column;
	text-align:center;
	width:100%;
	height:100%;
	color:#666;
	fonr-size:1.4rem;
	transition:all .2s ease-out;
	position:relative;
}

.hdNavi__trigger:hover{ color:#448B56;}

.hdNavi__trigger::before{
	display:block;
	content:"";
	width:100%;
	height:31px;
	margin-bottom:6px;
	background:no-repeat 50%;
	background-size:auto 100%;
}

#hdNavi #hdNavi__search::before{ background-image:url(../img/icon-search.svg);}
#hdNavi #hdNavi__lang::before  { background-image:url(../img/icon-lang.svg);}

.hdNavi__trigger::after{
	display:block;
	content:"";
	width:100%;
	height:100%;
	background:#333 url(../img/icon-close.svg) no-repeat 50%;
	position:absolute;
	left:0;
	top:0;
	opacity:0;
	transition:all 0.2s ease-out;
}

.hdNavi__trigger.open::after{ opacity:1;}

.hdNavi__subfield{
	display:none;
	width:100%;
	padding:30px 25px;
	position:absolute;
	top:100%;
	left:0;
	background:#448B56;
	box-sizing:border-box;
}

#hdSearch{
	width:100%;
	max-width:480px;
	margin:0 auto;
	padding:55px 0;
}

#input-keyword{
	width:100%;
	height:50px;
	padding:0 0 0 36px;
	border:none;
	background:url(../img/icon-search-w.svg) no-repeat 0 50%;
	background-size:24px auto;
	font-size:1.4rem;
	color:#fff;
	border-bottom:1px solid #fff;
	box-sizing:border-box;
	outline:none;
	border-radius:0;
}

#input-keyword::placeholder{ color: #DCDDDD;}
#input-keyword:-ms-input-placeholder{ color: #DCDDDD;}
#input-keyword::-ms-input-placeholder{ color: #DCDDDD;}

#hdLangNavi{
	width:100%;
	max-width:760px;
	margin:0 auto;
}

#hdLangNavi li{
	width:calc(33.33333% - 14px);
	height:66px;
}

#hdLangNavi li:nth-child(3n+2):last-child{ margin-right:calc(33.33333% + 7px);}
#hdLangNavi li:nth-child(n+4){ margin-top:21px;}

#hdLangNavi a{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: start;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
	width:100%;
	height:100%;
	color:#fff;
	padding:0 15px;
	font-size:1.8rem;
	box-sizing:border-box;
	border-radius:5px;
	border:1px solid #fff;
	position:relative;
	transition:all 0.2s ease-out;
}

#hdLangNavi .selected{ pointer-events:none;}

#gNaviHead{
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
	width:400px;
	height:90px;
	background:#448B56;
	overflow:hidden;
    transition: all 0.5s cubic-bezier(0.485, 0.135, 0, 0.995);
	position:fixed;
	right:0;
	top:0;
}

#gNavi__font{
	width:108px;
	height:100%;
	padding-right:25px;
}

#gNavi__font li{
	width:36px;
	height:36px;
}

#gNavi__font a{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: start;
  -webkit-box-align: end;
     -ms-flex-align: end;
        align-items: flex-end;
	width:100%;
	height:100%;
}

#gNavi__font span{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
	text-align:center;
	color:#fff;
	border:1px solid #fff;
	box-sizing:border-box;
}

#gNavi__font .selected span{
	color:#448B56;
	background:#fff;
}

#gNavi__font .fontChangeS span{
	width:20px;
	height:20px;
	margin-left:8px;
	font-size:12px;
}

#gNavi__font .fontChangeM span{
	width:28px;
	height:28px;
	font-size:14px;
}

#gNavi__font .fontChangeL span{
	width:36px;
	height:36px;
	font-size:16px;
}

#gNavi__trigger{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
 -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -ms-flex-direction: column;
         flex-direction: column;
	text-align:center;
	width:90px;
	height:100%;
	font-size:1.4rem;
	color:#fff;
	box-sizing:border-box;
}

#gNavi__navBar{
	width:36px;
	height:31px;
	margin-bottom:6px;
	position:relative;
}

.top-bar,
.middle-bar,
.bottom-bar{
	width: 36px;
	height: 2px;
	background-color:#fff;
	transition: transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	transform-origin: 50% 50%;
	position: absolute;
	top: 3px;
	left:0;
}

.middle-bar{
	transition: opacity 0s .15s linear ;
	top: 14px;
}

.bottom-bar{ top: 25px;}

#gNavi__inner{
	width:400px;
	height:calc(100% - 90px);
	position:fixed;
	top:90px;
	right:0;
	z-index:1000;
	padding:30px 25px;
	background:#fff;
	box-sizing:border-box;
	-webkit-overflow-scrolling: touch;
	overflow:auto;
    transition: all 0.5s cubic-bezier(0.485, 0.135, 0, 0.995);
}

.gNaviItem{ width:100%;}

.gNaviItem__trigger{
	display:block;
	width:100%;
	padding:15px 0;
	color:#000;
	font-size:1.6rem;
	position:relative;
	border-bottom:1px solid #DCDDDD;
	transition:all 0.2s ease-out;
}

.gNaviItem__trigger::before,
.gNaviItem__trigger::after{
	display:block;
	content:"";
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	background:#448B56;
}

.gNaviItem__trigger::before{
	width:16px;
	height:2px;
	right:8px;
}

.gNaviItem__trigger::after{
	width:2px;
	height:16px;
	right:15px;
}

.gNaviItem__trigger.open::after{ opacity:0;}

.gNaviItem__subfield{
	display:none;
	width:100%;
	padding:15px 0 40px;
}

.gNaviItem__subfield dl + dl{ margin-top:25px;}

.gNaviItem__subfield dt{
	color:#333;
	font-size:1.5rem;
	font-weight:bold;
	margin-bottom:10px;
}

.gNaviItem__subfield dt a{
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
}

.navi-MenuItem + .navi-MenuItem{ margin-top:5px;}
.navi-MenuItem a{
	display:block;
	color:#333;
	font-size:1.4rem;
	padding:5px 0 5px 24px;
	position:relative;
	transition:all 0.2s ease-out;
}

.navi-MenuItem a::before{
	display:block;
	content:"";
	width:12px;
	height:1px;
	background:#448B56;
	position:absolute;
	left:0;
	top:50%;
}

.gNaviItem__trigger:hover,
.navi-MenuItem a:hover{ color:#448B56;}

#socialNavi{
	width:100%;
	margin:50px 0 30px;
}

#socialNavi li + li{ margin-left:36px;}



/*------------------------------------------------------------ 
    コンテンツ 
------------------------------------------------------------*/ 

#com-detailHd{
	width:100%;
	padding:30px 0 26px;
	background:#F2F2ED;
}

#com-detailHd__icon{
	width:100px;
	padding-right:34px;
}

#com-detailHd__subtitle{
	color:#333;
	font-size:3.6rem;
}

#com-detailHd__subtitle::after{
	display:block;
	content:"";
	width:100px;
	height:2px;
	background:#448B56;
	margin-top:8px;
}

#com-detailHd__title{
	color:#333;
	font-size:2.4rem;
	margin-top:10px;
}

#com-detailHd__navi{
	width:auto;
	padding:10px 0 0 134px;
}

#com-detailHd__navi li{	margin:10px 10px 0 0;}

#com-detailHd__navi a{
	display:block;
	line-height:30px;
	padding:0 20px;
	color:#333;
	font-size:1.4rem;
	border-radius:15px;
	background:#fff;
	transition:all 0.2s ease-out;
}

#com-detailHd__navi a:hover{
	color:#fff;
	background:#448B56;
}




/* news */

#com-NewsHd{
	width:100%;
	margin-bottom:30px;
}

#com-NewsHd__title{
	font-size:2.8rem;
	color:#333;
	font-family: 'Poppins', sans-serif;
}

#com-NewsHd__title span{
	font-size:inherit;
	font-family:inherit;
	font-weight:bold;
}

#com-NewsHd__button{
	display:block;
	line-height:36px;
	color:#333;
	font-size:1.4rem;
	padding-right:50px;
	background:url(../img/icon-link.svg) no-repeat right 50%;
	background-size:36px auto;
	transition:color 0.2s ease-out;
}

#com-NewsHd__button:hover,
.com-NewsItem a:hover .com-NewsItem__title{ color:#448B56;}

.com-NewsItem:not(:last-child){
	padding-bottom:20px;
	margin-bottom:20px;
	border-bottom:1px solid #EFEFEF;
}

.com-NewsItem__date{
	width:100px;
	color:#448B56;
	font-size:1.6rem;
	line-height:1.875;
	font-family: 'Poppins', sans-serif;
}

.com-NewsItem__title{
	flex:1;
	color:#333;
	font-size:1.6rem;
	line-height:1.875;
	transition:color 0.2s ease-out;
}

#news-Wrap{ padding-top:80px;}

#news-DetailHd__title{ font-size:2.8rem;}
#news-DetailHd__title::after {
    display: block;
    content: "";
    width: 100px;
    height: 5px;
    margin-top: 15px;
    background: #448B56;
}


/* pagination */

#pagination{
	width:100%;
	margin-top:50px;
}

#pagination li{
	margin:5px;
	font-size:1.4rem;
	color:#595757;
	line-height:40px;
}

#pagination a{
	display:block;
	width:40px;
	text-align:center;
	line-height:40px;
	color:#448B56;
	font-size:inherit;
	font-weight:bold;
	background:#F2F2ED;
	transition:all 0.2s ease-out;
}

#pagination a:hover,
#pagination .selected{
	color:#fff;
	background:#448B56;
}

#pagination .selected{ pointer-events: none;}

#pagination .next,
#pagination .prev{
	text-indent:-9999px;
	position:relative;
}

#pagination .next::before,
#pagination .prev::before{
	display:block;
	content:"";
	width:8px;
	height:8px;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%) rotate(45deg);
	transition:all 0.2s ease-out;
}

#pagination .next::before{
	border-top:2px solid #448B56;
	border-right:2px solid #448B56;
}

#pagination .prev::before{
	border-bottom:2px solid #448B56;
	border-left:2px solid #448B56;
}

#pagination .next:hover::before,
#pagination .prev:hover::before{ border-color:#fff;}


/*------------------------------------------------------------ 
    フッター 
------------------------------------------------------------*/  

#pagetop{
	display:none;
	width:60px;
	height:60px;
	position:fixed;
	right:20px;
	bottom:20px;
	z-index:500;
}

#pagetop a{
	display:block;
	width:100%;
	height:100%;
	background:rgba(68,139,86,.7);
	transition:background 0.2s ease-out;
	position:relative;
}

#pagetop a:hover{ background:rgba(68,139,86,1);}

.arrow-box{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	transform:rotate(-90deg);
}

.arrow-right{
	width:10px;
	height:18px;
	fill:none;
	position:absolute;
	margin:auto;
	top:0;
	right:0;
	bottom:0;
	left:0;
	stroke:#fff;
	stroke-width:2px;
}

#footer{
	width:100%;
	margin-top:100px;
	padding:30px 0;
	color:#fff;
	background:#448B56;
}

#ftLogo{
	width:100%;
	margin:25px 0;
}

#ftLogo__img{
	width:46px;
	margin-right:15px;
}

.ftInfo__text{
	color:#fff;
	font-size:1.4rem;
	position:relative;
}

.ftInfo__text a{
	color:inherit;
	font-size:inherit;
}

.ftInfo__text a:hover{ text-decoration:underline;}

.ftInfo__text.address a::after{
	display:inline-block;
	vertical-align:middle;
	content:"";
	width:16px;
	height:21px;
	margin-left:20px;
	background:url(../img/icon-spot.svg) no-repeat 50%;
	background-size:cover;
}

#ftNavi{ width:320px;}

.ftNavi__link{
	width:100%;
	height:52px;
}

.ftNavi__link + .ftNavi__link{ margin-top:20px;}

.ftNavi__link a{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
	width:100%;
	height:100%;
	font-size:1.4rem;
	color:#fff;
	line-height:1.2;
	padding:0 30px 0 15px;
	border:1px solid #fff;
	box-sizing:border-box;
	position:relative;
	transition:all 0.2s ease-out;
}

.ftNavi__link a::after,
#hdLangNavi a::after{
	display:block;
	content:"";
	width:8px;
	height:8px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	position:absolute;
	right:20px;
	top:50%;
	transform: rotate(45deg) translateY(-50%);
	transition:all 0.2s ease-out;
}

.ftNavi__link a:hover,
#hdLangNavi a:hover,
#hdLangNavi .selected{
	color:#448B56;
	background:#fff;
}

.ftNavi__link a:hover::after,
#hdLangNavi a:hover::after,
#hdLangNavi .selected::after{
	border-top-color:#448B56;
	border-right-color:#448B56;
}

#ftNavi__social{
	width:100%;
	margin-top:35px;
}

#ftNavi__social li + li{ margin-left:24px;}

#copyright{
	width:100%;
	margin-top:30px;
}

#copyright small{ color:#fff;}


/*------------------------------------------------------------ 
    MediaQuery 
------------------------------------------------------------*/  

/* PC */
@media screen and (min-width: 1281px){

#wrap,
#header,
.hdNavi__subfield{ padding-right:400px;}
#gNavi__trigger{ pointer-events:none;}


}

@media screen and (max-width: 1280px){

.inner{
	padding-left:80px;
	padding-right:80px;
}

.inner.wid{
	padding-left:40px;
	padding-right:40px;
}

#gNaviHead{ right:-310px;}
#gNavi__inner{ right:-400px;}

.open #gNaviHead,
.open #gNavi__inner{ right:0;}

.open .top-bar{
	transform: rotate(45deg);
	top: 14px;
}

.open .middle-bar{ opacity: 0;}

.open .bottom-bar{
	transform: rotate(-45deg);
	top: 14px;
}

#hdTitle__lead{
	margin-left:18px;
	font-size:1.5rem;
}

}


/* TABLET */
@media screen and (min-width: 835px){

.tb-show{ display:none;}

body{ min-width:1080px;}

}

@media screen and (max-width: 834px){

.tb-hide{ display:none;}

.inner{
	padding-left:30px;
	padding-right:30px;
}

.inner.wid{
	padding-left:20px;
	padding-right:20px;
}

#wrap{ padding-top:80px;}

#header{
	height:80px;
	padding-right:80px;
}

#hdLogo,
.hdNavi__item,
#gNavi__trigger{ width:80px;}
#hdLogo img,
#ftLogo__img{ width:41px;}

.siteTitle__jp{ font-size:1.8rem;}
.siteTitle__en{ font-size:1rem;}

.hdNavi__trigger,
#gNavi__trigger{ font-size:1.3rem;}

#gNaviHead{
	height:80px;
	right:-320px;
}

#gNavi__inner{
	height:calc(100% - 90px);
	top:80px;
	padding:25px;
}

.gNaviItem__trigger,
.navi-MenuItem a{ font-size:1.3rem;}
.gNaviItem__subfield dt{ font-size:1.4rem;}

.hdNavi__subfield{ padding:25px;}

#hdLangNavi li{
	width:calc(33.33333% - 8px);
	height:54px;
}

#hdLangNavi li:nth-child(3n+2):last-child{ margin-right:calc(33.33333% + 4px);}

#hdLangNavi li:nth-child(n+4){ margin-top:12px;}
#hdLangNavi a{ font-size:1.5rem;}
#hdSearch{ padding:30px 0;}



/* contents */

#com-detailHd{ padding:24px 0 21px;}

#com-detailHd__icon{
	width:80px;
	padding-right:20px;
}

#com-detailHd__subtitle{ font-size:2.8rem;}

#com-detailHd__subtitle::after{ width:80px;}

#com-detailHd__title{
	font-size:2rem;
	margin-top:8px;
}

#com-detailHd__navi{ padding:5px 0 0 100px;}

#com-detailHd__navi a{
	line-height:28px;
	padding:0 16px;
	font-size:1.3rem;
	border-radius:14px;
}


#com-NewsHd{ margin-bottom:24px;}
#com-NewsHd__title{ font-size:2.4rem;}

#com-NewsHd__button{
	line-height:30px;
	padding-right:40px;
	background-size:30px auto;
}

.com-NewsItem:last-child{
	padding-bottom:20px;
	border-bottom:1px solid #EFEFEF;
}

.com-NewsItem__date,
.com-NewsItem__title{ font-size:1.5rem;}

#news-Wrap{ padding-top:60px;}
#news-DetailHd__title{ font-size:2rem;}
#news-DetailHd__title::after {
    width: 80px;
    height: 4px;
    margin-top: 12px;
}


/* footer */

#footer{ margin-top:80px;}

.ftInfo__text,
.ftNavi__link a{ font-size:1.3rem;}

#ftNavi{ width:300px;}






}


/* SP */
@media screen and (min-width: 581px){

.sp-show{ display:none;}

}

@media screen and (max-width: 580px){

.sp-hide{ display:none;}

.inner,
.inner.wid{
	padding-left:10px;
	padding-right:10px;
}

#wrap{ padding-top:50px;}

#header{
	height:50px;
	padding-right:50px;
}

#hdLogo,
.hdNavi__item,
#gNavi__trigger{ width:50px;}
#hdLogo img,
#ftLogo__img{ width:23px;}

#hdLogo,
#ftLogo__img{ margin-right:8px;}

.siteTitle__jp{
	font-size:14px;
	line-height:1;
}

.siteTitle__en{
	font-size:9px;
	margin-top:2px;
}

.hdNavi__trigger,
#gNavi__trigger{ font-size:9px;}

.hdNavi__trigger::before{
	height:18px;
	margin-bottom:2px;
}

#gNaviHead{
	height:50px;
	right:-250px;
}

.open #gNavi,
#gNaviHead,
#gNavi__inner{ width:300px;}

#gNavi__inner{
	height:calc(100% - 50px);
	top:50px;
	padding:10px 15px 15px;
	right:-300px;
}

#gNavi__navBar{
	width:21px;
	height:18px;
	margin-bottom:2px;
}

.top-bar,
.middle-bar,
.bottom-bar{
	width: 21px;
	height: 1px;
	top: 3px;
}

.middle-bar,
.open .top-bar,
.open .bottom-bar{ top: 9px;}
.bottom-bar{ top: 15px;}

#gNavi__font{
	width:90px;
	padding-right:15px;
}

#gNavi__font li{
	width:30px;
	height:30px;
}

#gNavi__font .fontChangeS span{
	width:20px;
	height:20px;
	margin-left:5px;
	font-size:10px;
}

#gNavi__font .fontChangeM span{
	width:25px;
	height:25px;
	font-size:12px;
}

#gNavi__font .fontChangeL span{
	width:30px;
	height:30px;
	font-size:14px;
}

.gNaviItem__subfield{ padding-bottom:25px;}

.gNaviItem__trigger,
.navi-MenuItem a,
.gNaviItem__subfield dt{ font-size:1.2rem;}

#header .navi-MenuItem a{
	padding:7px 0 7px 24px;
	font-size:1.4rem;
}

.gNaviItem__trigger{ padding:10px 0;}

.gNaviItem__trigger::before{
	width:10px;
	height:1px;
	right:5px;
}

.gNaviItem__trigger::after{
	width:1px;
	height:10px;
	right:10px;
}

.navi-MenuItem + .navi-MenuItem{ margin-top:3px;}
.navi-MenuItem a{ padding-left:18px;}
.navi-MenuItem a::before{ width:10px;}

#socialNavi{ margin:30px 0;}

.hdNavi__subfield{ padding:15px 10px;}

#hdLangNavi li{ height:40px;}

#hdLangNavi a{
	padding:0 10px;
	font-size:1.3rem;
}

#hdSearch{ padding:15px 0;}

#input-keyword{
	height:44px;
	padding-left:30px;
	background-size:20px auto;
	font-size:1.3rem;
}

.hdNavi__trigger::after{ background-size:12px;}


/* contents */

#com-detailHd{ padding:15px 0;}

#com-detailHd__icon{
	width:50px;
	padding-right:15px;
}

#com-detailHd__subtitle{ font-size:1.8rem;}

#com-detailHd__subtitle::after{
	width:60px;
	margin-top:5px;
}

#com-detailHd__title{
	font-size:1.5rem;
	margin-top:5px;
}

#com-detailHd__navi{
	padding:10px 0 0 0;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
	white-space:nowrap;
}

#com-detailHd__navi ul{
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

#com-detailHd__navi li{ margin:0 8px 0 0;}

#com-detailHd__navi a{
	line-height:24px;
	padding:0 10px;
	font-size:1.2rem;
	border-radius:12px;
}



#com-NewsHd{ margin-bottom:20px;}
#com-NewsHd__title{ font-size:1.8rem;}

#com-NewsHd__button{
	line-height:26px;
	padding-right:36px;
	font-size: 1.2rem;
	background-size:26px auto;
}

.com-NewsItem:not(:last-child) {
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.com-NewsItem:last-child{ padding-bottom:15px;}

.com-NewsItem__date,
.com-NewsItem__title{
	width:100%;
	line-height:1.5;
	font-size:1.4rem;
}

.com-NewsItem__title{
	flex:unset;
	margin-top:5px;
}

#news-Wrap{ padding-top:40px;}

#news-DetailHd__title{ font-size:1.8rem;}
#news-DetailHd__title::after {
    width: 60px;
    height: 3px;
    margin-top: 10px;
}





/* footer */

#footer{
	padding-top:20px;
	margin-top:50px;
}

#ftInfo{
	width:100%;
	flex:auto;
	margin-bottom:20px;
}

#ftNavi{ width:100%;}

.ftInfo__text,
.ftNavi__link a{ font-size:1.2rem;}

.ftInfo__text.address a::after {
    width: 14px;
    height: 19px;
    margin-left: 15px;
	background-size:100% auto;
}

#ftLogo{ margin:15px 0;}

.ftNavi__link{
	width:100%;
	height:42px;
}

.ftNavi__link + .ftNavi__link{ margin-top:15px;}

.ftNavi__link a{ padding:0 24px 0 10px;}

.ftNavi__link a::after,
#hdLangNavi a::after {
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    right: 15px;
}

#ftNavi__social{
	margin-top:30px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

#copyright{
	text-align:center;
	margin-top:20px;
}

#copyright small{ font-size:1rem;}
#pagetop{
	width:48px;
	height:48px;
	right:10px;
	bottom:15px;
}

}

@media screen and (max-width: 414px){

.siteTitle__jp{ font-size:12px;}

#hdLangNavi li{ width:calc(50% - 5px);}
#hdLangNavi li:nth-child(n+3){ margin-top:10px;}
#hdLangNavi li:nth-child(3n+2):last-child{ margin-right:0;}

}

@media screen and (max-width: 360px){

#wrap{ padding-top:45px;}

#header {
    height: 45px;
    padding-right: 45px;
}

#hdLogo,
.hdNavi__item,
#gNavi__trigger{ width:45px;}

.siteTitle__jp{ font-size:12px;}

#gNaviHead{
	height:45px;
	right:-255px;
}


}


/*------------------------------------------------------------ 
    PRINT 
------------------------------------------------------------*/  

@media print{

html{ font-size:56.25%;}
body{
	-webkit-print-color-adjust: exact;
	zoom:80%;
}

@page {
	size: A4;
	margin:5mm;
	counter-increment: page;
}

#wrap{ padding-top:0;}
#header{ position:static;}

#gNavi{ display:none;}
#wrap, #header,
.hdNavi__subfield{ padding-right:0;}

.inner{
	padding-left:30px;
	padding-right:30px;
}

#com-TxtField{ padding-right:30px!important;}

}