@charset "utf-8";
/* CSS Document */
:root {
 font-size: 10px;
}
body {
 font-size: 16px; font-size: 1.6rem;
 line-height: 26px; line-height: 2.6rem;
 /*font-family: a-otf-gothic-mb101-pr6n, sans-serif;
 font-style: normal;
 font-weight: 300;*/
 font-family: iroha-22momi-stdn, sans-serif;
 font-style: normal;
 font-weight: 400;
 /*font-family:'メイリオ', 'Meiryo', sans-serif;
 font-weight: 500;
 font-style: normal;*/
 letter-spacing: 0.08em;
 color: #231815;
 word-break: break-all;
 background-color: #ffffff;
}
h1 {
 font-size: 30px; font-size: 3.0rem;
 line-height: 34px; line-height: 3.4rem;
 font-weight: bold;
}
h2 {
 font-size: 26px; font-size: 2.6rem;
 line-height: 36px; line-height: 3.6rem;line-height: 36px; line-height: 3.6rem;
}
h3{
 font-size: 22px; font-size: 2.2rem;
 line-height: 32px; line-height: 3.2rem;
}
a {
 transition: all 0.1s;
 text-decoration-skip-ink: none;
}
a:hover {
 color: #cc0000;
 transition: all 0.1s;
}

/*sectionの幅、間隔*/
section {
 margin: 0 auto;
}

/*TOPへ戻る*/
.backtotop {
 position: fixed;
 right: 20px;
 bottom: 20px;
 z-index: 9999999999;
 display: none;
}
.backtotop a {
 display: block;
 content: url("../img/back_top.png");
 padding: 10px; 
 margin: 0;
 background-color: #b62013;
 border-radius: 10px;
 text-decoration: none;
 font-weight: bold;
 transition: all 0.2s;
}
.backtotop a:hover {
 background-color: #b5f48c;
 transition: all 0.2s;
}
/* デバイス幅が640px以下 */
@media only screen and (max-width: 600px) {
 .backtotop {
  bottom: 60px;
 }
 .backtotop a {
  background-color: rgba(182,32,19,0.80);
 }
}

/*ヘッダー*/
#header {
 position: sticky;
 left: 0;
 top: 0;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 100px;
 padding-left: 0;
 box-sizing: border-box;
 /*background-color: #ffffff;*/
}
#header .nav_area {
 display: flex;
 flex-direction: row;
 justify-content: center;
 align-items: center;
 width: 100%;
 max-width: 1100px;
}
#header .nav_area li {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 25%;
 font-size: 18px;
 line-height: 22px;
 text-align: center;
 font-weight: bold;
}
#header .nav_area li a {
 width: 90%;
 display: flex;
 justify-content: center;
 align-items: center;
 height: 55px;
 text-decoration: none;
 background-color: #b62013;
 background-image: url("../img/bt_sha.png");
 background-repeat: no-repeat;
 background-position: center center;
 background-size: 80%;
 box-shadow: 3px 3px #999999;
 color: #ffffff;
 /*border: 1px solid #b62013;*/
 box-sizing: border-box;
 transition: all 0.2s;
}
#header .nav_area li a:hover {
 background-color: #b5f48c;
 background-image: url("../img/bt_sha_hv.png");
 color: #231815;
 transition: all 0.2s;
}
.wrapper {
 background-color: #39302d;
 background-image: url("../img/bg_pattern/bg_pattern_17.png");
 background-position: center center;
}
/* デバイス幅が1200px以下 */
@media only screen and (max-width:1200px) {
 #header .nav_area {
  position: static;
  max-width: 100%;
 }
 #header .nav_area li {
  display: flex;
  justify-content: center;
  align-items: center;
 }
 .wrapper {
  /*padding-top: 200px;*/
 }
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 #header {
  display: none;
 }
 .wrapper {
  padding-top: 50px;
 }
}

/*ハンバーガーメニュー*/
#menu-button {
 display: none;
 position: fixed;
 z-index: 9999999;
 top: 0;
 width: 100%;
 height: 50px;
 background-color: #555555;
 box-sizing: border-box;
 box-shadow: 0px 2px 2px rgba(0,0,0,0.30);
}
.icon {
 cursor: pointer;
 position: relative;
}
.icon span {
  position: absolute;
  right: 15px;
  width: 30px; /* 線の幅 */
  height: 3px; /* 線の太さ */
  background-color: #ffffff; /* 線の色 */
  transition: ease 0.3s;
}
.icon span:nth-of-type(1) {
  top: 15px; /* 上の線の位置調整 */
}
.icon span:nth-of-type(2) {
  top: 25px; /* 真ん中の線の位置調整 */
}
.icon span:nth-of-type(3) {
  top: 35px; /* 下の線の位置調整 */
}
.open span:nth-of-type(1) {
  top: 25px;
  transform: rotate(-45deg); /* 線の角度調整 */
}
.open span:nth-of-type(2) {
  opacity: 0; /* 透明化 */
}
.open span:nth-of-type(3) {
  top: 25px;
  transform: rotate(45deg);  /* 線の角度調整 */
}
.sample-menu {
 display: none;
 width: 100%;
 position: fixed;
 z-index: 9999999;
 top: 50px;
 left: 0;
 background-color: #555555;
}
.sample-menu li {
 border-top: 1px solid #ffffff;
 box-sizing: border-box;
}
.sample-menu li:last-child {
 border-bottom: 1px solid #ffffff;
}
.sample-menu li a {
 display: inline-block;
 width: 100%;
 padding: 10px;
 color: #ffffff;
 font-weight: bold;
 text-decoration: none;
 box-sizing: border-box;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width: 600px) {
 #menu-button {
  display: block;
 }
 .top_hum {
  margin-top: 50px;
 }
}

/*トップ*/
.top {
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 width: 100%;
 padding: 30px;
 border: 10px solid #999999;
 border-bottom: none;
 background-color: #231815;
 background-image: url("../img/bg_pattern/net.png");
 background-position: center center;
 box-sizing: border-box;
}
.top .txt_top {
 font-size: 40px;
 line-height: 50px;
 text-align: center;
 color: #ffffff;
 font-weight: bold;
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
}
.top .im_main {
 display: flex;
 flex-direction: row;
 justify-content: center;
 align-items: center;
 list-style-type: none;
 width: 100%;
}
.top .im_main li {
 display: flex;
 width: 20%;
 justify-content: center;
 padding: 20px;
 box-sizing: border-box;
}
.top .im_main .im_sp {
 display: none;
 text-align: center;
}
.top .im_main p {
 width: 60%;
 font-size: 50px;
 line-height: 60px;
 text-align: center;
 color: #ffffff;
 font-weight: bold;
 text-shadow: 2px 2px #82cc52;
}
.top .im_main p .logo_logo {
 margin-top: 20px;
}
/* デバイス幅が1200px以下 */
@media only screen and (max-width:1200px) {
 .top .im_main li {
  width: 15%;
 }
 .top .im_main p {
  width: 70%;
  font-size: 40px;
  line-height: 50px;
 }
}
/* デバイス幅が850px以下 */
@media only screen and (max-width:850px) {
 .top .im_main li {
  width: 10%;
 }
 .top .im_main li img {
  max-height: 120px;
 }
 .top .im_main p {
  width: 80%;
  font-size: 30px;
  line-height: 40px;
 }
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .top {
  padding: 20px;
 }
 .top_sp_txt {
  width: 100%;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  color: #ffffff;
  font-weight: bold;
  text-shadow: 2px 2px #82cc52;
 }
 .top .im_main li {
  width: 20%;
  padding: 5px;
 }
 .top .im_main li:nth-child(3) {
  width: 60%;
  padding: 10px;
 }
 .top .im_main .im_pc {
  display: none;
 }
 .top .im_main .im_sp {
  display: block;
 }
 .top .im_main li img {
  max-height: 80px;
 }
 .top .im_main li:first-child img {
  max-height: 70px;
 }
 .top .im_main li:nth-child(3) img {
  width: 100%;
  max-width: 200px;
  max-height: none;
 }
}

.topline {
 height: 10px;
 background-color: #467a24;
}

/*お知らせ*/
.news_area {
 margin: 30px auto 50px auto;
 text-align: left;
 padding: 0 20px;
 box-sizing: border-box;
}
.news_area .news_block {
 font-family: a-otf-gothic-mb101-pr6n, sans-serif;
 font-style: normal;
 font-weight: 300;
 width: 100%;
 max-width: 1100px;
 height: 100%;
 max-height: 270px;
 margin: 0 auto;
 padding: 10px;
 background-color: #ffffff;
 box-shadow: 7px 7px #b62013;
 text-align: left;
 overflow-y: auto;
 box-sizing: border-box;
}
.news_area dl {
 position: relative;
 display: flex;
 flex-direction: row;
 padding: 15px;
 border-bottom: 1px dashed #231815;
 box-sizing: border-box;
}
.news_area dl:last-child {
 border: none;
}
.news_area dt {
 width: 15%;
}
.news_area dd {
 width: 85%;
}
.news_new {
 position: absolute;
 left: 0;
 top: 0;
 font-size: 12px;
 font-weight: bold;
 color: #cc0000;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .news_area dl {
  flex-direction: column;
 }
 .news_area dt,
 .news_area dd {
  width: 100%;
 }
}

/*トップ文言*/
.top_txt {
 text-align: center;
 color: #ffffff;
}

/*各項目*/
.main_area {
}

.main {
 width: 100%;
 padding: 30px 20px;
 box-sizing: border-box;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .main {
  text-align: left;
 }
}

.m_top {
 text-align: center;
}
.main_tit {
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
 margin-bottom: 20px;
 font-size: 30px;
 line-height: 40px;
 font-weight: bold;
 color: #ffffff;
 border-bottom: 5px solid #b62013;
 letter-spacing: 0.15em;
}
.main_tit::before {
 content: url("../img/midashi.png");
 margin-right: 10px;
}
.main_block {
 font-family: a-otf-gothic-mb101-pr6n, sans-serif;
 font-style: normal;
 font-weight: 300;
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
 padding: 20px;
 background-color: #ffffff;
 box-shadow: 7px 7px #b62013;
 box-sizing: border-box;
}
.taisho_jigyosha {
 margin-top: 20px;
 text-align: left;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .main_tit {
  font-size: 20px;
  line-height: 30px;
 }
 .main_tit::before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 40px;
  background-image: url("../img/midashi.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 0;
 }
}

/*予約不可*/
#header .nav_area li .no_yoyaku {
 background-color: #f39800;
 background-image: url("../img/bt_sha_hv.png");
 /*border: 1px solid #f39800;*/
}
#header .nav_area li .no_yoyaku:hover {
 color: #231815;
}
.tit_no {
 border-bottom: 5px solid #f39800;
}
.block_no {
 box-shadow: 7px 7px #f39800;
}

/*ページ内ボタン*/
.button_area {
 margin-top: 30px;
 list-style-type: none;
}
.button_area li {
 width: 100%;
 max-width: 500px;
 margin: 0 auto;
 font-size: 30px;
 font-weight: bold;
 line-height: 40px;
 text-align: center;
}
.button_area li a {
 width: 100%;
 height: 70px;
 padding: 0 5px;
 display: flex;
 justify-content: center;
 align-items: center;
 text-decoration: none;
 border-radius: 35px;
 background-color: #b62013;
 background-image: url("../img/bt_icon.png"), url("../img/bt_sha.png");
 background-repeat: no-repeat;
 background-position: 95% center, center center;
 /*border: 2px solid #b62013;*/
 color: #ffffff;
 box-sizing: border-box;
 transition: all 0.2s;
}
.button_area li a:hover {
 background-color: #b5f48c;
 background-image: url("../img/bt_icon.png"), url("../img/bt_sha_hv.png");
 color: #231815;
 transition: all 0.2s;
}
/* デバイス幅が600px以下 */
@media only screen and (max-width:600px) {
 .button_area li {
  font-size: 25px;
  line-height: 35px;
 }
 .button_area li a {
  height: 60px;
 }
}

#footer {
 width: 100%;
 text-align: center;
 padding: 20px 10px;
 color: #ffffff;
 border-top: 3px solid #555555;
 background-color: #231815;
 box-sizing: border-box;
}
#footer p {
 font-family: a-otf-gothic-mb101-pr6n, sans-serif;
 font-style: normal;
 font-weight: 300;
}
#footer img {
 margin: 10px auto;
}

.bold {
 font-weight: bold;
}
.red {
 color: #cc0000;
}
.blue {
 color: #0000cc;
}
.yellow {
 color: #fcc601;
}
.black {
 color: #231815;
}
.mark {
 background-color: #ffff00;
}
.line {
 text-decoration: underline;
 text-decoration-skip-ink: none;
}
.small {
 font-size: 0.8em;
}
.large {
 font-size: 1.2em;
}
.large_2 {
 font-size: 1.5em;
}

/*二行目以降字下げ*/
.kai {
 text-indent: -1em;
 padding-left: 1em;
}
.kai_1-3 {
 text-indent: -1.3em;
 padding-left: 1.3em;
}
.kai_2 {
 text-indent: -2em;
 padding-left: 2em;
}
.kai_2-5 {
 text-indent: -2.5em;
 padding-left: 2.5em;
}
.kai_3 {
 text-indent: -3em;
 padding-left: 3em;
}
.kai_4 {
 text-indent: -4em;
 padding-left: 4em;
}

/*サイズ毎の表示変更*/
.pc {
 display: block;
}
.tb {
 display: none;
}
.sp {
 display: none;
}
/* デバイス幅が1019px以下 */
@media only screen and (max-width:1019px) {
 .pc {
  display: none;
 }
 .tb {
  display: block;
 }
}
/* デバイス幅が640px以下 */
@media only screen and (max-width: 640px) {
 .tb {
  display: none;
 }
 .sp {
  display: block;
 }
}

/*フロート解除*/
.clear {
 clear: both;
}