@charset "utf-8";

/* =======================================

	CommonElements

======================================= */
* {
	margin: 0;
	padding: 0;
}

html {
	height: 100%;
    overflow-y: scroll;
}

body {
	height: 100%;
	font-size: 14px;
	font-family: 'Noto Sans JP', 'Noto Sans','ヒラギノ角ゴ Pro W3', Segoe Script, Verdana, 'Hiragino Kaku Gothic Pro W3', 'メイリオ', Meiryo, Osaka, sans-serif;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}

    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


}


h1, h2, h3, p {
	padding-bottom: 1em;
}

.h1sub {
	text-align: center;
	padding-bottom: 20px;
	color:#555;
	font-size:14px;
}

.h2sub {
	padding: 15px 10px 15px 10px;
	font-size:16px;
	display:inline-block;
	text-align:left;
	line-height:2;background:#fff
}



a {
  text-decoration: none;
  color: #0066cc;
}

a:hover {
  text-decoration: none;
  color: #ff4500;
}


#header h1 {
	line-height: 80px;
}

#header {
	height: 80px;
}

#container {
	width: 100%;
	position: relative;
	height: 100%;
	min-height: 100%;
	background-image: url("../img/1_b.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}

body > #container {
	height: auto;
}

#container2 {
	width: 100%;
	position: relative;
	height: 100%;
	min-height: 100%;
}

body > #container2 {
	height: auto;
}



.fadeIn {
	height: auto;
}



#contents {
	padding-bottom: 50px;
}

#wrapper {
	width:90%;
	margin:0 auto;
	text-align: center;
	word-wrap: break-word;
}

#wrapper2 {
	width:90%;
	text-align:left;
	word-wrap: break-word;
	margin: 15px 10px 15px 10px;
}






/*===============================================
●PRIVACY
===============================================*/
.wrapperpr {
	width:80%;
	margin:0 auto;
	text-align: left;
	word-wrap: break-word;
              display:inline-block;
}
.wrapperpr dl
{
text-align: left;
}
.wrapperpr dt
{
  padding: 0.3em 0.5em;/*上下 左右の余白*/
  background: transparent;/*背景透明に*/
  border-left: solid 10px #ff4500;/*左線*/
}
.wrapperpr dd
{
   margin-left: 0em;
  padding: 0;/*上下の余白*/
}
.prmidashi {
  padding: 0.3em 0;/*上下の余白*/
  border-top: solid 1px #ff4500;/*上線*/
  border-bottom: solid 1px #ff4500;/*下線*/
	margin:14px auto;
}
.prright {
  text-align: right;
}









.wrap {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height:500px;
}
.yokonarabe{
  display:flex;/*コレ*/
  width:100%;
  margin:0;
align-items: center;
} 
.yokonarabe>div{
  width:48%;
  margin:0 1%;
  background:#FFF;
vertical-align: middle;
}
.yokonarabe img {
  width: 50%;
}
.yokonarabe img:hover {
	opacity: 0.8;
}




.box2 {
   width: 50%;
	margin: 15px 20px 15px 20px;
	text-align:left;
}
@media (max-width:640px) {
   .box2 {
       width: 100%;
	padding: 10px 0;
   }
}

.container2 {
   margin: 0 auto;
   width: 90%;
   display: flex;
   justify-content: space-between;
} 
@media (max-width:640px) {
   .container2 {
       flex-wrap: wrap;
   }
}

.container3 {
   margin: 15px auto;
   width: 90%;
   display: flex;
   justify-content: space-between;
	text-align:left;
} 
@media (max-width:640px) {
   .container3 {
       flex-wrap: wrap;
   }
}


.example{
    /*コレ*/text-align: right;
}
.example img {
  width: 300px;
  margin:0px 20px 0px 0px;
}

@media (max-width:640px) {
.example img {
   width: 100%;
   }
}


.yohaku1 {
   height: 600px;
   width: 50%;
}
@media screen and (max-width: 640px) {
    .yohaku1 {
        display: none; /* 要素を完全に非表示にする */
    }
}

.yohaku2 {
   height: 300px;
   width: 50%;
}
@media screen and (max-width: 640px) {
    .yohaku2 {
        display: none; /* 要素を完全に非表示にする */
    }
}

.yohaku3 {
   height: 50px;
   width: 50%;
}
@media screen and (max-width: 640px) {
    .yohaku3 {
        display: none; /* 要素を完全に非表示にする */
    }
}

.yohaku4 {
   height: 50px;
   width: 50%;
}
@media screen and (max-width: 640px) {
    .yohaku4 {
   height: 24px;
   width: 50%;
    }
}





.topmas1 {
    text-align: center;
    margin:5% 0px 5px 0px;
}
.topmas1 img {
width: 14px;
height: 14px;
}


.topmas2 {
    margin:2% 0px 5px 0px;
              display:inline-block;
              text-align:left;
              line-height:2;background:#fff
}


.topmas3 {
    margin:0px 0px 5px 0px;
              display:inline-block;
              text-align:left;
              line-height:2;background:#fff
}
.topmas3 img {
width: 14px;
height: 14px;
}
@media screen and (max-width: 640px){
.topmas3 {
    text-align: center;
    margin:10px 0px 10px 0px;
}
.topmas3 img{
        display: none; /* 要素を完全に非表示にする */
}
}


.ulsquare {
    list-style: square;     /* アイコンの種類指定 */
	font-size:14px;
}



.topbox1 {
    display: flex;
    margin:5% 0px 10% 0px;
    justify-content: space-around; /* 画像の間に均等に余白を設定 */

}
.topbox1 img {
    width: 30%; /* 画像が3つ並ぶように設定 */
    height: auto;
}
.itopbox1 img:hover {
	opacity: 0.8;
}





/*====================================
※S width 640pxまで
====================================*/
@media screen and (max-width: 640px){
#wrapper {
	width:90%;
}
}
#wrapper2 {
	width:90%;
}
}

#contentsbox{  
	position: relative;
	margin: 0 30px 0 20%;
} 

#sidebar{
	font-family: "Comic Sans MS",Georgia,sans-serif;
	width: 15%;
	padding: 20px 0;
	float: left;
}
/*====================================
※S width 640pxまで
====================================*/
@media screen and (max-width: 640px){
#contentsbox{  
	width: 100%;
	margin: 10px 0;
} 

#sidebar{  
	width: 100%;
	float: none;
}
}

.tagline {
	width:300px;
	height:100px;
	position:absolute;
	font-size: 20px;
font-weight: bold;
	left:50%;
	top:50%;
	margin-left:-150px;
	margin-top:-100px;
}

.bxclear {
	clear: both;
	width: 90%;
	height: 30px;
	padding: 10px;
}



/* #filter
--------------------------- */
#filter {
	margin: 0 auto;
	padding: 15px 0;
	width: 100%;
	text-align: left;
}
#filter a:link { text-decoration:underline; color: #000;}
#filter a:visited { text-decoration:none; color: #000;}
#filter a:active { text-decoration:none; color: #000;}
#filter a:hover { text-decoration:none; color: #000;}

#filter .active {
	font-weight: bold;
}
#filter a.active:link { text-decoration:none; color: #000;}
#filter a.active:visited { text-decoration:none; color: #000;}
#filter a.active:active { text-decoration:none; color: #000;}
#filter a.active:hover { text-decoration:none; color: #000;}

/* #filterlist
--------------------------- */
#filterlist {
	margin: 0 auto;
	text-align: left;
}

#filterlist ul {
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

#filterlist ul li {
	width: 10%;
	text-align: left;
	float: left;
	display: inline;
	overflow: hidden;
}

/* =======================================
	ClearFixElements
======================================= */
#filterlist ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}

#filterlist ul {
	display: inline-block;
	overflow: hidden;
}


/*===============================================
●gallery
===============================================*/
#gallery {
	margin:15px;
	padding:10px;
	float: left;
	border:1px solid #333;
background-color: #FFF;
	word-wrap:break-word;/*テキストはみだし*/
	box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.6);/*BOX陰影*/
	-webkit-border-radius:10px;/*Safari、Chrome角丸*/
	-moz-border-radius:10px;/*Firefox角丸*/
}

#gallery img{
	width:100%;
	height:auto;
}
/*====================================
※S width 640pxまで
====================================*/
@media screen and (max-width: 640px){
#gallery {
	width: 50%;
	margin:20px;
	padding:10px;
}
}



/*===============================================
●notedesign
===============================================*/
div.notedesign {
   font-size: 14px;
   border: 1px solid #cccccc;   /* 外枠 */
   padding: 10px;             /* 内側の余白 */
}

div.notedesign p {
   background-image: url("../img/brush2.gif"); /* 罫線 */
   line-height: 30px; /* 行の高さ */
   margin: 0px;       /* 外側の余白 */
}

/*===============================================
●notedesign p用
===============================================*/
.notedesign {
   background-image: url("../img/brush2.gif"); /* 罫線 */
   line-height: 30px; /* 行の高さ */
   margin: 0px;       /* 外側の余白 */
}
@media screen and (max-width: 640px) {
  .notedesign {
text-align: left;
  }
  }

/*===============================================
●news dl dd
===============================================*/
dl
{
text-align: left;
}

dl a {
  text-decoration: none;
  color: #0066cc; /* 通常時のリンクの色 */
}

dl a:hover {
color: #ff6600; /* ホバー時のリンクの色 */
}

dl img {
width: 12px;
height: 12px;
}

dt
{
   font-weight:  normal;
   border-bottom: dotted 1px #cccccc;
   border-left: 5px solid #ffa500;
   padding-left: 10px;
   margin-top: 1em;
   margin-right: 0.5em;
   margin-left: 0.5em;
}

dd
{
   font-size: 14px;
   padding: 10px;
   margin-left: 0em;
}



/*===============================================
●table STYLES
===============================================*/
img.example { vertical-align: bottom; }

#table_free{
	width: 100%;
	border-collapse: collapse;
	margin-top: 5px;
}
#table_free td{
	padding: 5px;
	border: 1px solid #ccc;
	text-align:left;
	font-weight: normal;
}
#table_free th{
	padding: 5px;
	border: 1px solid #ccc;
	text-align:center;
	font-weight: normal;
}
#table_free thead th{
	font-size: 16px;
	color:#fff;
	background:#ff4500;
}



/*===============================================
●table STYLES2
===============================================*/
img.example { vertical-align: bottom; }

#table_free2{
	width: 100%;
	border-collapse: collapse;
	margin-top: 5px;
}
#table_free2 td{
	padding: 5px;
	border: 1px solid #ccc;
	font-size: 12px;
	text-align:left;
	font-weight: normal;
}
#table_free2 th{
	padding: 5px;
	border: 1px solid #ccc;
	text-align:center;
	font-size: 10px;
	font-weight: normal;
}
#table_free2 thead th{
	font-size: 16px;
	color:#fff;
	background:#ff4500;
}



/*===============================================
●footer
===============================================*/
#footer {
	font-family: "Comic Sans MS",Georgia,sans-serif;
	width: 100%;
	position: absolute;
	bottom: 0;
	height: 50px;
}

#footer p {
	padding: 0;
	line-height: 50px;
	text-align: center;
	font-size:12px;
}

#footer div {
	font-size:14px;
	padding: 0;
	text-align: center;
}

#footer ul{
  text-align: center;
}

#footer li{
  display: inline-block;
  list-style: none;
  margin-left: 20px;
}




/*===============================================
●footer：サイトマップ
===============================================*/
#footerM {
  background: #ff4500;
}
 
#footerM .cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 50px;
}
 
#footerM .cont-item {
  display: block;
  width: calc(100% / 4);
}
 
#footerM .nav a {
  text-decoration: none;
  display: block;
  color: #ccc;
}

#footerM .nav a:hover {
  text-decoration: none;
  display: block;
  color: #0066cc;
}
 
#footerM .nav .ttl {
  display: block;
  margin: 30px 0 6px;
  font-size: 12px;
  font-weight: bold;
  color: #ccc;
}
 
#footerM .nav .ttl:first-child {
  margin-top: 0;
}
 
#footerM .nav .ttl + .ttl {
  margin-top: 10px;
}
 
#footerM .nav ul {
  display: block;
  font-size: 12px;
  line-height: 2;
}

#footerM .nav img {
width: 14px;
height: 14px;
}
 
#footerM .nav li {
  display: block;
  font-size: 12px;
  line-height: 2;
}
 
#footerM .nav li:first-child {
  margin-top: 0;
}
 
#footerM .nav li ul {
  margin: 0 0 0 2em;
}
 
#footerM .nav li li {
  position: relative;
}
 
#footerM .nav li li:before {
  position: absolute;
  top: 50%;
  left: -10px;
  content: "";
  display: block;
  width: 4px;
  height: 1px;
  background-color: #fff;
}
 
#footerM .company {
  display: block;
  margin-top: 62px;
}
 
#footerM .logo img {
  width: 120px;
}
 
#footerM .address {
  display: block;
  margin: 28px 0 0;
  font-size: 12px;
  line-height: 2;
  color: #ccc;
}

#footerM .copyright {
  text-align: center;
  display: block;
  margin: 28px 0 0;
  font-size: 12px;
  line-height: 2;
  color: #ccc;
}

#footerM .copyright a {
  text-decoration: none;
  color: #ccc;
}

#footerM .copyright a:hover {
  text-decoration: none;
  color: #0066cc;
}



@media screen and (max-width: 640px) {
  #footerM .cont {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 70%;
    justify-content: space-between;
  }
  #footerM .cont-item {
    display: block;
    width: 40%;
  }
  #footerM .cont-item:nth-child(n+3) {
    margin-top: 30px;
  }
  #footerM .nav ul {
    margin: 0;
    font-size: 10px;

#footerM .nav img {
width: 14px;
height: 6px;
}

  }
  #footerM .nav ul + .ttl {
    margin-top: 10px;
  }
  #footerM .nav li {
    font-size: 10px;
  }
  #footerM .company {
    margin-top: 30px;
  }
  #footerM .address {
    margin: 10px 0 0;
    font-size: 10px;
  }
}


/*====================================
※S width 640pxまで
====================================*/
@media screen and (max-width: 640px){
img{
	max-width: 100%;
	height: auto;
	width /***/:auto;　
}
}





/*====================================
※アコーディオン
====================================*/
/* アコーディオン全体のスタイリング */
.accordion {
  border: 1px solid #ddd;
  border-radius: 5px;
  margin-bottom: 10px;
}

/* アコーディオンのヘッダー部分のスタイリング */
.accordion-header {
  padding: 20px;
	color: #ffffff;
  background-color: #ff4500;
  cursor: pointer;
  outline: none;
  font-weight: bold;
  border-bottom: 1px solid #ddd;
  position: relative; /* 矢印アイコンの位置調整のため */
  list-style: none; /* デフォルトの矢印を消す */
  transition: background-color 0.3s; /* 背景色の変化にアニメーションを適用 */
}

.accordion-header img{

  width: 5%;
}

/* アコーディオンのコンテンツ部分のスタイリング */
.accordion-content {
  padding: 15px;
  line-height: 1.5;
  background-color: #fff;
}

/* カスタム矢印のスタイル */
.accordion-header::after {
  content: '\25BC'; /* ←▼（\25BC）ここに好きなアイコンを設定できます */
  position: absolute;
  right: 10px; /* ヘッダーから右に10pxの位置 */
  transition: transform 0.3s ease; /* アニメーション効果 */
}

/* アコーディオンが開いている時の矢印のスタイル */
.accordion[open] .accordion-header::after {
  transform: rotate(180deg); /* 矢印を180度回転 */
}

/* ホバー時のヘッダーのスタイル */
.accordion-header:hover {
  background-color: #0000ff; /* ホバー時の背景色 */
}

/* WebKitベースのブラウザでデフォルトの矢印を消す */
.accordion .accordion-header::-webkit-details-marker {
  display: none;
}





/*====================================
※4カラム:ふるさと
====================================*/

.flex-sample {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex-sample .item {
  flex: 0 0 20%;
  margin: 30px 0 0;
}
.flex-sample img {
width: 200px;
}
@media screen and (max-width: 640px){
.flex-sample .item {
  flex: 0 0 25%;
  margin: 3px;
}
}



/*====================================
※光るアニメーション
====================================*/
.anim-box.kiran {
  opacity: 1;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.anim-box.kiran::before {
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
  top: -100px;
  left: 0;
  width: 30px;
  height: 100%;
  opacity: 0;
  transition: cubic-bezier(0.32, 0, 0.67, 0);
}
.anim-box.kiran:hover::before {
  animation: kiran 0.5s linear;
}

@keyframes kiran {
  0% {
    transform: scale(2) rotate(45deg);
    opacity: 0;
  }
  20% {
    transform: scale(20) rotate(45deg);
    opacity: 0.6;
  }
  40% {
    transform: scale(30) rotate(45deg);
    opacity: 0.4;
  }
  80% {
    transform: scale(45) rotate(45deg);
    opacity: 0.2;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}





/*====================================
※フォーム
====================================*/
#formWrap {
	width:700px;
	margin:0 auto;
	color:#555;
	line-height:120%;
	font-size:90%;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
}
/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:572px) {
#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;

}
form input[type="text"], form textarea {
	width:90%;
	padding:5px;
	font-size:16px;
	display:block;
}
form input[type="submit"], form input[type="reset"], form input[type="button"] {
	display:block;
	width:100%;
	height:40px;
}
}


/*====================================
※CONTACT：BOX/スクロールバー
====================================*/
.aside {
  overflow-y: scroll; /* 縦方向のスクロールのみ有効にする */
  overflow-x: hidden;  /* 横方向のスクロールを無効にする */
  text-align:left;
  margin: 10px auto 10px;
  padding: 8px;
  width: 420px;
  height: 100px;
  border: 1px solid #696969;
}
@media screen and (max-width: 640px){
.aside{
	width:80%;
}
}