@charset "utf-8";


/* ### レイアウト ### */
html {
	font-size : 16px;
	-webkit-text-size-adjust: 100%;
	line-height: 1.8em;
	scroll-behavior: smooth;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	margin: 0;
	color: black;
	text-align: left;
}
.container {
	width: 1200px;
	margin: auto;
}
.container960 {
	width: 960px;
	margin: auto;
}
.left_box {
	float: left;
}
.right_box {
	float: right;
}
.content {
	overflow: hidden;
	padding-top: 5em;
	padding-bottom: 5em;
}

.fade {
    -webkit-transition: 0.7s ease-in-out;  
       -moz-transition: 0.7s ease-in-out;  
         -o-transition: 0.7s ease-in-out;  
            transition: 0.7s ease-in-out;  
}  
.fade:hover {  
    opacity: 0.7;  
    filter: alpha(opacity=70);
}

img {
	/* Responsive images (ensure images don't scale beyond their parents) */
	max-width: 100%;
	/* Part 1: Set a maxium relative to the parent */
	width: auto\9;
	/* IE7-8 need help adjusting responsive images */
	height: auto;
	/* Part 2: Scale the height according to the width, otherwise you get stretching */
	vertical-align: middle;
	border: 0;
	-ms-interpolation-mode: bicubic;
}

/* 動画 */
.movie_box {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-top: 15px;
}
.movie_box iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	border: none;
}




/* ### 文字 ### */
h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: 0;
}

h1 {
	font-size: 30px;
}
h2 {
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.2em;
}
h3 {
	font-size: 18px;
	font-weight: 500;
}
/* 各ページキャッチコピー */
h4 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.7em;
}

p {
	margin: 0;
	padding: 0;
}
.danraku {
	text-indent : -1em;
	padding-left : 1em;
}
.c_w {
	color: #fff;
}
.mark {
	background: linear-gradient(transparent 40%, #fbfb96 80%);
}


/* ### リンク ### */
/* メニュー */
a,
a:link {
	text-decoration: none; color: #fff;
}
a:hover,
a:active {
	color: #f06414;
}

/* ご案内　茶→オレンジ */
a.link02 {
	text-decoration: none; color: #3e1b0a;
	font-weight: 500;
}
a.link02:hover,
a.link02:active{
	color: #f06414;
}

/* サイトマップ　オレンジ→薄オレンジ */
a.link03 {
	text-decoration: none; color: #f06414;
	font-weight: bold;
}
a.link03:hover,
a.link03:active{
	color: #f0963c;
}

/* 色変更なし */
a.link04,
a.link04:link,
a.link04:visited,
a.link04:hover,
a.link04:active {
    color: inherit;           /* 親の色を継承 */
    text-decoration: none;    /* 下線を消す場合は追加 */
}



/* ### ヘッダー ### */
header {
	width: 100%;
	margin: 0;
	position: fixed;
	z-index: 30;
	transition: 0.5s;
	background: #dcd2aa;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}
.head {
	padding: 0 3%;
}

.right_text {
	float: right;
	line-height: 70px;
	padding: 0 1.3em;
	text-align: center;
	margin-top: 10px;
	font-weight: 500;
}

.miniform {
	display: none;
}
/* ▼表示領域が1100px以上の場合 */
@media screen and (min-width: 1100px) {
   .miniform { display: none; }  /* miniを非表示 */
   .bigform  { display: block; } /* bigを表示 */
}
/* ▼表示領域が1100px未満の場合 */
@media screen and (max-width: 1099px) {
   .miniform { display: block; } /* miniを表示 */
   .bigform  { display: none; }  /* bigを非表示 */
   .head_mid { width:100%; padding-right:0; text-align:center; }
   .head_mid p { padding:5px 0 5px 0; line-height:1.2; }
}
/* ▼表示領域が600px未満の場合 */
@media screen and (max-width: 649px) {
   .bigform02  { display: none; }  /* bigを非表示 */
}
/* ▼表示領域が340px未満の場合 */
@media screen and (max-width: 339px) {
   .miniform { display: none; }
}


/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 12px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}
/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: #f06414;
  text-align: center;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
  visibility: hidden;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
  font-size: 120%;
  font-weight: 500;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#e95119;
}
nav.globalMenuSp img {
	width: 50%;
	max-width: 330px;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 2em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100;
  visibility: visible;
}




/* ### 下部TEL・FAX ### */
.contact_space {
	background: #f06414;
	padding: 3em 5% 4em 5%;
}
.contact_space h2 {
	padding-top: 1em;
	padding-bottom: 2em;
	text-align: center;
	color: #fff;
}
.top_tel {
	display: flex;
	width: 100%;
	justify-content: space-between;
	margin-bottom: 2em;
}
.t_telw {
	width: 46%;
}
.tt_top {
	background: #fcb43c;
	border-radius: 10px 10px 0 0;
	padding: 0.6em;
	text-align: center;
	font-weight: 500;
	line-height: 1.3;
}
.tt_middle {
	background: #fff;
	border-radius: 0 0 10px 10px;
	padding: 0.5em;

	font-size: 260%;
	font-weight: 600;
	text-align: center;
}
.t_telw img {
	padding-right: 0.3em;
}




/* ### ページトップへ戻るボタン ### */
.page-top {
	border: 2px solid #fff;
	background: #EEE;
	border-radius: 7px;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	padding: 15px;
	position: fixed;
	bottom: 15px;
	right: 20px;
	z-index: 200;
	-moz-opacity: 0.8;
	-khtml-opacity: 0.8;
	opacity: 0.8;
	font-weight: bold;
}
.page-top:hover{
	background: #f06414;
	color: #fff;
}
/* ▼表示領域が600px未満の場合 */
@media screen and (max-width: 599px) {
   .page-top { display: none; }
}




/* ### サイトマップ ### */
.sitemap {
	width: 100%;
	background-image: url("../images/top_back.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom;
}
.sitemap img {
	margin-bottom: 1em;
}
.sitemap p {
	font-size: 115%;
	font-weight: 500;
}
.sitemapbox1 {
	float: left;
 	width: 45%;
}
.sitemapbox2 {
	float: left;
 	width: 55%;
}
.sitebox_in {
	padding: 7%;
}
.sitemap_text {
	float: left;
	width: 50%;
	text-align: center;
	font-size: 110%;
	line-height: 3;
}
.st_many {
	font-size: 94%;
}


/* ### フッター ### */

#footer	{
	font-family: 'Maven Pro', Helvetica, Arial, sans-serif;
	background-color: #ede8d4;
	text-align: center;
}
.footer_p {
	color: #f06414;
	font-size: 12px;
	font-weight: bold;
	display: block;
	padding: 8px 0 8px 0;
}




/* ▼表示領域が1200px未満の場合 */
@media screen and (max-width: 1199px) {
   body { font-size:14px; }
   .container { width:100%; }
   .content { padding:4em 5%; }

   .sitemap_text { width:45%; }
}
/* ▼表示領域が960px未満の場合 */
@media screen and (max-width: 960px) {
   .container960 { width:88%; margin-left:6%; margin-right:6%; }
}
/* ▼表示領域が800px未満の場合 */
@media screen and (max-width: 799px) {
   .top_tel { flex-wrap:wrap; justify-content:center; margin-bottom:0; }
   .t_telw { width:96%; margin-bottom:2em; }
}
/* ▼表示領域が700px未満の場合 */
@media screen and (max-width: 699px) {
   .sitemap { background-size:180%; }
   .sitemapbox1 { width:100%; margin:0 auto; text-align:center; }
   .sitemapbox1 p { display:inline-block; text-align:left; }
   .sitemapbox2 { width:100%; }
   .sitemap_text { width:50%; }
   .footer_p { font-size: 10px; }
}
/* ▼表示領域が600px未満の場合 */
@media screen and (max-width: 599px) {
   body { font-size:13px; line-height:1.5em; }
   h1 { font-size:22px; }
   h2 { font-size:30px; }
   h3 { font-size:16px; }
   h4 { font-size:18px; }
   .left_box { width:260px; }
   .miniform img { width:35px; }
}

/* ▼表示領域が500px未満の場合 */
@media screen and (max-width: 499px) {
   .tt_middle { font-size:200%; }
   .t_telw img { width:35px; }
}

