@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap');

/* 標準可変メディア
   メモ : 可変メディアでは、HTML からメディアの高さおよび幅の属性を削除する必要がある
   http://www.alistapart.com/articles/fluid-images/ 
*/
img, object, embed, video {
	max-width: 100%;
}
/* IE 6 では最大幅がサポートされていないため、デフォルトで幅 100% に設定される */
.ie6 img {
	width:100%;
}

/*
	Dreamweaver 可変グリッドプロパティ
	----------------------------------
	dw-num-cols-mobile:		5;
	dw-num-cols-tablet:		8;
	dw-num-cols-desktop:	10;
	dw-gutter-percentage:	25;
	
	以下からヒントを入手 : Ethan Marcotte 氏の「レスポンシブ Web デザイン」 
	http://www.alistapart.com/articles/responsive-web-design
	
	および Joni Korpi 氏の「Golden Grid System」
	http://goldengridsystem.com/ 
*/

/* モバイルレイアウト : 480 px およびそれ以下. */
.gridContainer {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	padding-left: 0%;
	padding-right: 0%;
}

.headerBlock{
    padding: 20px 0;
    border-bottom-style: solid;
    border-bottom-width: 7px;
    border-bottom-color: #E8AA17;
}
.header{
    max-width: 1062px; 
	width: 95%;
	margin-left:auto;
	margin-right:auto;
}
.header .header1{
    position: relative;
}
.header .header1 p{
    font-family: source-han-sans-japanese, sans-serif; 
    font-size: 19px;
    margin: 0;
}
.header .header2{
    text-align: center;
    padding: 10px 0;
}
.header .header2 > div{
    display: inline-block;
    vertical-align: middle;
    
}
.header .header2 .cname {
    font-family: source-han-sans-japanese, sans-serif; 
    font-size: 16px;
    line-height: 170%;
}
.header .header2 .cname span{
    font-family: kan415typos-std, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 31px;
    color: #E8AA17;
}
.header .address{
    margin: 0;
    overflow: hidden;
}
.header .address p{
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 21px;
    font-weight: 600;
    margin: 0;
}
.menuBlock {
    font-family: source-han-sans-japanese, sans-serif; 
	font-size: 14px;
    font-weight:lighter;
    background-color: #fff;
}
.floatingMenuBlock{
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 10000;
	box-shadow: 0 4px 4px 0 #ddd;
    background-color: #fff;
}
.floatingMenu{
	max-width: 500px;
	width: 100%;
	margin-left:auto;
	margin-right:auto;
}
.main-nav{
	max-width: 500px;
	width:100%;
	margin-left:auto;
	margin-right:auto;
}

.main-nav:after {
  clear: both;
  content: "\00a0";
  display: block;
  height: 0;
  font: 0px/0 serif;
  overflow: hidden;
}
.navHome{
	display:inline-block;
	text-align:center;
	padding: 10px 0;
}
#main-menu, #main-menuf {
  clear: both;
}

/* Mobile menu top separator */

#main-menu:before, #main-menuf:before {
  content: '';
  display: block;
  height: 1px;
  font: 1px/1px sans-serif;
  overflow: hidden;
}

/* Mobile menu toggle button */
.main-menu-btn {
	float: left;
	width: auto;
	height: auto;
	text-indent: 0;
	color: #7F7F7F;
	border-style: solid;
	border-width: 1px;
	border-radius: 4px;
	border-color:#c1cbd8;
	text-align: center;
	padding: 7px 7px;
    margin: 0px 7px 0px 7px;
  display: inline-block;
  white-space: nowrap;
  cursor: pointer;
  overflow: hidden;
}

/* hamburger icon */

.main-menu-btn-icon,
.main-menu-btn-icon:before,
.main-menu-btn-icon:after {
  position: absolute;
  top: 50%;
  left: 2px;
  height: 2px;
  width: 24px;
  background: #fff;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}

.main-menu-btn-icon:before {
  content: '';
  top: -7px;
  left: 0;
}

.main-menu-btn-icon:after {
  content: '';
  top: 7px;
  left: 0;
}


/* x icon */

#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon, 
#main-menu-statef:checked ~ .main-menu-btn .main-menu-btn-icon {
  height: 0;
  background: transparent;
}

#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before, 
#main-menu-statef:checked ~ .main-menu-btn .main-menu-btn-icon:before {
  top: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after, 
#main-menu-statef:checked ~ .main-menu-btn .main-menu-btn-icon:after {
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


/* hide menu state checkbox (keep it visible to screen readers) */

#main-menu-state, 
#main-menu-statef {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}


/* hide the menu in mobile view */

#main-menu-state:not(:checked) ~ #main-menu, 
#main-menu-statef:not(:checked) ~ #main-menuf {
  display: none;
}

#main-menu-state:checked ~ #main-menu, 
#main-menu-statef:checked ~ #main-menuf {
  display: block;
}

.sm-simple {
	border: none;
	box-shadow: none;
    background: none;
}
.sm-simple > li {
	text-align:left;
	border:none;
	width:100%;
	float:none;
}
.sm-simple > li img{
	/*width: 95%;*/
}
.sm-simple .sub-arrow{
	display:none;
}
.sm-simple a, .sm-simple a:hover, .sm-simple a:focus, .sm-simple a:active, .sm-simple a.highlighted {
	padding: 5px 10px;
	color: #7F7F7F;
}
.sm-simple a:hover, .sm-simple a:focus, .sm-simple a:active, .sm-simple a.highlighted {
	/*background-color: rgba(204, 204, 204, 0.8) ;*/
    font-weight: bold;
}
.sm-simple a.has-submenu {
	padding-right: 0;
}
.sm-simple{
	border-style:solid;
	border-color:#c1cbd8;
	border-width:thin;
}
.sm-simple li{
	border-style:none;
	border-right-color:#c1cbd8;
	border-right-width:thin;
	background: url(../images/hmn_ico.png) no-repeat left top;
}
.contents{
	width:95%;
	margin-left: 2.5%;
	margin-right: 2.5%;
}
.footerBlock{
    background-color: #E8AA17;
    padding: 15px 0 0 0;
    color: #000;
    height: 250px;
    margin-top: 50px
}
h1{
    font-family: source-han-sans-japanese, sans-serif; 
	font-weight: normal;
	font-size: 18px;

}
h2{
    font-family: source-han-sans-japanese, sans-serif; 
	font-weight: 600;
	font-size:20px;
    color: #000000;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    padding: 0 0 0.6em 0;
    letter-spacing: 0.1em;
    background-image: url("../images/h2_back.png") ;
    background-repeat: repeat-x;
    background-position: 0 0.7em;
}
h3{
    font-family: source-han-sans-japanese, sans-serif; 
	font-size: 25px;
	font-weight:bold;
}
.content{
	padding: 0;
}
.content p{
    font-family: source-han-sans-japanese, sans-serif; 
	font-size:16px;
	line-height: 160%;
    color: #000;
}

.toTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
}
.toTopShow{
	display:block;
}
.toTopHidden{
	display:none;	
}
.cellFit{
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.linkButton{
	display:inline-block;
	color:#FFF;
	font-size:20px;
	text-decoration:none;
	padding: 15px 40px;
	border-radius: 4px;
}
.linkButton:hover{
	opacity: 0.7;
	color:#FFF;
}
.linkButton:visited{
	color:#FFF;
}
.stdLink{
    text-decoration: none;
    color: inherit;
    font-size: inherit;
}
.stdLink:hover{
    text-decoration: underline;
    color: inherit;
}
.stdLink:visited{
    text-decoration: none;
    color: inherit;
}

.exampleBlock .item{
    font-family: source-han-sans-japanese, sans-serif; 
	font-size: 14px;
	line-height: 160%;
	display: inline-block;
	width: 48%;
	margin-right: 1%;
}
.exampleBlock .item > div{
	display:inline-block;
	vertical-align:top;
	width: 100%;
}

.newsBox .item{
    font-family: source-han-sans-japanese, sans-serif; 
	font-size: 14px;
	line-height: 160%;
}
.newsBox .item > div{
	display:inline-block;
	vertical-align:top;
}
.newsBox .item .dateCol{
	width: 8em;
}
.newsBox .item .titleCol{
	width: calc(95% - 8em) ;
}

.item a{
	text-decoration: none;
	color: #000;
}
.item a:hover {
	text-decoration: underline;
	color: #000;
}
.item a img:hover {
	opacity: 0.7;
}
.item a:visited {
	color: #000;
}
.item img{
	height: auto !important;
    width: 100%;
}

.videoBox {
  position: relative;
  width: 100%;
  padding-top: 75%;
}
.videoBox iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.separatorBlock{
    margin-top: 80px
}
.separatorBlock h2 img{
    max-width: 1019px;
    width: 80%;
}
/* タブレットレイアウト : 481 px ～ 768 px。モバイルレイアウトからスタイルを継承。 */

@media only screen and (min-width: 481px) {
.header .header1 p{
    font-size: 24px;
}
.header .header2 .cname {
    font-size: 18px;
}
.header .header2 .cname span{
    font-size: 60px;
}
.header .address p{
    font-size: 26px;
}
}

/* デスクトップレイアウト : 769 px ～最大 1232 px。モバイルレイアウトとタブレットレイアウトからスタイルを継承。 */

@media only screen and (min-width: 769px) {
.gridContainer {
	max-width: 1282px;
	margin: auto;
}
.header {
    width: 80%;
}
h2{
	font-size:41px;
}
.content p{
	font-size:29px;
}
#qr_code_box{
  display: inline-block;
}
  
  #main-menu, 
  #main-menuf {
    clear: none;
  }
  #main-menu:before, 
  #main-menuf:before {
    display: none;
  }
  /* hide the button in desktop view */
  .main-menu-btn {
    position: absolute;
    top: -99999px;
  }
  /* always show the menu in desktop view */
  #main-menu-state:not(:checked) ~ #main-menu, 
  #main-menu-statef:not(:checked) ~ #main-menuf {
    display: inline-block ;
    margin-left:0;
	vertical-align: top;
  }
.sm-simple{
/*	width: calc(100% - 260px);
*/	display:inline-block;
	width:100%;
    background: none;
	border-style:none none none none;
	border-left-color:#E5E5E5;
	border-left-width:thin;
}
.sm-simple li{
	/*border-style:none solid none none ;
	border-right-color:#E5E5E5;
	border-right-width:thin;*/
}
.navTel{
	display:inline-block;
}
.sm-simple > li {
	float: left;
	text-align: center;
    padding: 10px 0;
}
.sm-simple > li:nth-child(1) {
	width: 18.1%;
}
.sm-simple > li:nth-child(2) {
	width:18.1%;
}
.sm-simple > li:nth-child(3) {
	width:18.1%;
}
.sm-simple > li:nth-child(4) {
	width:18.1%;
}
.sm-simple > li:nth-child(5) {
	width:27.2%;
}
.sm-simple a, .sm-simple a:hover, .sm-simple a:focus, .sm-simple a:active, .sm-simple a.highlighted {
	padding: 5px 0;
	color: #7F7F7F;
    background: none;
}
.sm-simple ul a, .sm-simple ul a:hover, .sm-simple ul a:focus, .sm-simple ul a:active, .sm-simple ul a.highlighted {
	padding: 5px 5px 5px 5px;
}
.contents{
	width: 80%;
	margin-left:auto;
	margin-right:auto;
}
.footer{
    width: 80%;
}
.footer1 > div{
    width:49%;
}
.footer1 .companyName p{
    font-size: 33px;
}
.footer1 .companyName p span{
    font-size: 26px;
}
.footer1 .address{
    font-size: 22px;
}
.footer1 .tel{
    font-size: 37px;
}
.footer1 .tel span{
    font-size: 23px;
}
}