@charset "utf-8";
/* CSS Document */

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
  scroll-behavior: smooth;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #452802;
  text-align:center;
}

ul li { list-style-type: none;}

a { color: #fff; text-decoration:none; }
a:hover { color: #fff;}
a:visited { color: #fff;}
a:hover img { opacity: 0.75;}

img{ vertical-align: bottom;}

.img-fluid {
  max-width: 100%;
  height: auto;
}
.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}
.shadow-none {
  box-shadow: none !important;
}
label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

.tac { text-align: center;}
.tal { text-align:left;}
.tar { text-align:right;}
.fb { font-weight: bold;}

.orange { color: #f25000;}
.yellow { color: #ff6;}

.u-line { background: linear-gradient(transparent 55%, #ffdf00 55%);}
.u-line-2 { border-bottom: solid 1px #452802;}

h1 {
  margin: 0 auto;
}
h2 {
  margin: 0 auto 80px;
  font-weight: bold;
  line-height: 1.5;
  font-size: 4.4rem;
}
h3 {
  margin: 0 auto 0px;
  font-weight: bold;
  line-height: 1.4;
}
p {
  margin-bottom: 40px;
  line-height: 1.9;
  font-size: 2.5rem;
}

.wrap {
  background:#fff;
}
@media (min-width:768px) { 
  body {
    background: url(../img/01-bg.jpg) no-repeat;
    background-attachment:fixed;
  }
 .wrap {
   margin:0 auto;
   max-width:750px;
   box-shadow: 0 0rem 2rem rgba(0, 0, 0, 0.15) !important;
 }
}

@media screen and (max-width: 768px) {
 h2 {
   margin: 0 auto 40px;
 }
 p {
   font-size: 1.8rem;
 }
}

@media screen and (max-width: 480px) {
 h2 {
   margin: 0 auto 20px;
   font-size: 2.4rem;
 }
 p {
   margin-bottom: 20px;
   font-size: 1.9rem;
 }
 a:hover img {
   opacity: 10;
 }
 .flexbox { flex-direction: column;}
 .order1 { order: 1;}
 .order2 { order: 2;}
 .order3 { order: 3;}
 
 .rwd-tbl {
   font-size: 1.1rem;
 }
  .rwd-tbl th, .rwd-tbl td {
    width: 100%;
    display: block;
    border-top: none;
    padding: 5px 10px;
  }
  .rwd-tbl tr:first-child th {
    border-top: 1px solid #ddd;
  }
}

/*----------------------------------------------------------
   sec01
----------------------------------------------------------*/
.sec01 {
  text-align:center;
}


/*----------------------------------------------------------
   sec02
----------------------------------------------------------*/
.sec02 {
  margin: 0px auto;
  padding: 0px 0 40px;
}
.sec02-2 {
  margin: 0px auto;
  padding: 40px 0 40px;
  background: #f5f3ed;
}
.bnr {
  margin-bottom: 20px;
}
.sec02-txt {
  margin-bottom: 10px;
  font-size:2.0rem
}
@keyframes boyon {
  0% {
 transform:scale(0.9);
 }
  50% {
 transform:scale(1.0);
 }
  100% {
 transform:scale(0.9);
 }
}
.bawnd {
  animation: 1s boyon infinite;
}
@media screen and (max-width: 480px) {
 .sec02 {
   margin: 0px auto;
   padding: 0px 0 10px;
 }
 .sec02-2 {
   margin: 0px auto;
   padding: 20px 0 10px;
   background: #f5f3ed;
 }
 .bnr {
   margin-bottom: 5px;
 }
 .sec02-txt {
   text-align: left;
   font-size:1.7rem
 }
}


/*----------------------------------------------------------
   sec03
----------------------------------------------------------*/
.sec03 {
  padding:0 0 5px;
  background:#004220;
}

.sec03-box {
  margin:0 auto 30px;
  padding:30px 30px 10px;
  background:#fff;
  border-radius:10px;
}
.sec03-p {
  margin:0 0 30px;
  text-align:left;
}

/*全体*/
.hidden_box {
  margin: 0px 0 0px;/*前後の余白*/
  padding: 0;
}
/*ボタン装飾*/
.hidden_box label {
  margin-bottom: 30px;
  padding: 20px 30px;
  width: 100%;
  font-size: 3.0rem;
  font-weight: bold;
  color: #fff;
  border-radius: 40px;
  background: #452802;
  cursor : pointer;
}
/*ボタンホバー時*/
.hidden_box label:hover {
  background: #563203;
  color: #fff;
}
/*チェックは見えなくする*/
.hidden_box input {
  display: none;
}
/*中身を非表示にしておく*/
.hidden_box .hidden_show {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}
/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
  padding: 10px 0;
  height: auto;
  opacity: 1;
}

@media screen and (max-width: 480px) {
 .sec03-box {
   margin:0 auto 20px;
   padding:15px;
 }
 .sec03-p {
   margin:0 0 15px;
   text-align:left;
 }

 /*ボタン装飾*/
 .hidden_box label {
   margin-bottom: 15px;
   padding: 10px 30px;
   font-size: 1.4rem;
 }
}
 
 
/*----------------------------------------------------------
   sec04
----------------------------------------------------------*/
.sec04 {
  padding:0 0 5px;
  background:#e0d9cc;
}

.sec04-box {
  margin:0 auto 30px;
  padding:30px 30px 10px;
  background:#fff;
}
.sec04-p {
  margin:0 0 30px;
  text-align:left;
}
 
@media screen and (max-width: 480px) {
 .sec04-box {
   margin:0 auto 20px;
   padding:15px;
 }
 .sec04-p {
   margin:0 0 15px;
   text-align:left;
 }
}
 
 
/*----------------------------------------------------------
   sec06
----------------------------------------------------------*/
.sec06 {
  padding:0 0 30px;
  background:#f5f2eb;
}
.sec06-p {
  margin:0 0 30px;
  text-align:left;
}
 
@media screen and (max-width: 480px) {
.sec06 {
  padding:0 0 10px;
}
 .sec06-p {
   margin:0 0 15px;
   text-align:left;
 }
}
 
 
/*----------------------------------------------------------
   sec07
----------------------------------------------------------*/
.sec07 {
  padding:0 0 30px;
  background:#f2f2f2;
}
.sec07-p {
  margin:0 0 30px;
  text-align:left;
}
 
@media screen and (max-width: 480px) {
.sec07 {
  padding:0 0 10px;
}
 .sec07-p {
   margin:0 0 15px;
   text-align:left;
 }
}
 
 
/*----------------------------------------------------------
   sec08
----------------------------------------------------------*/
.sec08 {
  padding:0 0 30px;
  background:#f6efe5;
}
.sec08-p {
  margin:0 0 30px;
  text-align:left;
}
 
@media screen and (max-width: 480px) {
.sec08 {
  padding:0 0 10px;
}
 .sec08-p {
   margin:0 0 15px;
   text-align:left;
 }
}


/*----------------------------------------------------------
   sec09
----------------------------------------------------------*/
.sec09 {
  padding:0 0 30px;
  background:#f2f2f2;
}
.sec09-p {
  margin:0 0 30px;
  text-align:left;
  color:#021537;
}
 
@media screen and (max-width: 480px) {
.sec09 {
  padding:0 0 10px;
}
 .sec09-p {
   margin:0 0 15px;
   text-align:left;
 }
}


/*----------------------------------------------------------
   sec10
----------------------------------------------------------*/
.sec10 {
  border-top:4px solid #004220;
}
 
@media screen and (max-width: 480px) {
}
 
/*----------------------------------------------------------
   sec11
----------------------------------------------------------*/
.sec11 {
  padding:0 0 30px;
}
 
@media screen and (max-width: 480px) {
.sec11 {
  padding:0 0 10px;
}
}
 
 
/*----------------------------------------------------------
   footer
----------------------------------------------------------*/
footer {
  margin: 0;
  padding: 0px 0 30px;
  background: #006633;
  text-align: center;
}
footer ul {
  margin: 0;
  padding: 50px 0 20px;
  font-size: 1.8rem;
}
footer ul li {
  display: inline;
  list-style-type: none;
  margin-right: 6px;
  padding-left: 10px;
}
footer ul li+li {
  border-left: 1px solid #fff;
}
footer ul li a {
  color: #fff;
}
footer ul li a:visited {
  color: #fff;
  text-decoration: none;
}
footer ul li a:hover {
  color: #fff;
  text-decoration: underline;
}
address {
  margin: 0 auto;
  text-align: center;
  font-style:normal;
  font-size: 1.3rem;
  color: #fff;
  letter-spacing: 1px;
}
@media screen and (max-width: 480px) {
 footer {
   margin: 0;
   padding: 0px 0 30px;
 }
 footer ul {
   margin: 0;
   padding: 30px 0 15px;
   font-size: 1.3rem;
 }
 footer ul li {
   display: inline;
   list-style-type: none;
   margin-right: 6px;
   padding-left: 10px;
 }
 address {
   margin: 0 auto;
   text-align: center;
   font-size: 1.0rem;
   letter-spacing: 1px;
 }
}


/*----------------------------------------------------------
   floating-banner
----------------------------------------------------------*/
.floating-banner {
  position: fixed;
  z-index: 99999;
  bottom: 20px;
  right: 0px;
}
.floating-banner img {
  width: 400px;
}
.floating-banner:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
.floating-banner {
  position: fixed;
  z-index: 99999;
  top: 10px;
  right: 0px;
}
.floating-banner img {
  width: 180px;
}
.floating-banner:hover {
  opacity: 0.8;
}
}
 @media screen and (max-width: 480px) {
.floating-banner {
  top: unset;
  right: 0;
  bottom: 0;
}
.floating-banner img {
  width: 100%;
}
}